「oss文件java」oss文件打包下载

博主:adminadmin 2022-11-22 12:08:07 63

今天给各位分享oss文件java的知识,其中也会对oss文件打包下载进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

求助,OSS的JAVA上传出错,以前没有出现错误

主要是由于没有指定endpoint这个参数导致的 !

OSS服务目前分杭州跟青岛节点,两个节点都有自己的独立请求地址,如果bucket创建在青岛节点上,默认使用oss.aliyuncs.com地址去请求,就会报以上错误,所以在操作之前要确认endpoint里面的请求地址跟bucket是否都一致,如果需要青岛跟杭州两个节点的bucket都需要请求,那就需要建多个osscleint,定义endpoint的时候,需要将青岛跟杭州节点的地址都添加进去,详细的可以查看SDK demo!

通过java如何获取到上传阿里云OSS的文件的下图的下载文件地址,

具体的可以查看这篇文章:网页链接 

public static String uploadFile(File file){

SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");

String dateStr = format.format(new Date());

if(null == file){

return null;

}

OSSClient ossClient = new OSSClient(endpoint_im,accessKeyId_im,accessKeySecret_im);

try {

//容器不存在,就创建

if(! ossClient.doesBucketExist(bucket_im)){

ossClient.createBucket(bucket_im);

CreateBucketRequest createBucketRequest = new CreateBucketRequest(bucket_im);

createBucketRequest.setCannedACL(CannedAccessControlList.Default);

ossClient.createBucket(createBucketRequest);

}

//创建文件路径

String fileUrl = dateStr + "/" + new Date().getTime()+"."+fileType;

//上传文件

PutObjectResult result = ossClient.putObject(new PutObjectRequest(bucket_im, fileUrl, file));

//设置权限 这里是私有权限读写

//            ossClient.setBucketAcl(bucketName,CannedAccessControlList.Default);

if(null != result){

return fileBucketprefix+"/"+fileUrl;

}

}catch (OSSException oe){

logger.error(oe.getMessage());

}catch (ClientException ce){

logger.error(ce.getMessage());

}finally {

//关闭

ossClient.shutdown();

}

return null;

}

怎么用javaweb上传文件到阿里云OSS

前段时间正好做个项目,就是用的oss,普通上传和断点续传,代码贴出来,看是不是你需要的

public class OssManage {

public static String ACCESS_KEY_ID = null;

public static String ACCESS_KEY_SECRET = null;

public static String ENDPOINT = null;

public static String BUCKETNAME = null;

public static String BUCKETNAME_VIDEO = null;

public static String OUT_OF_DATE = null;

private OSSClient client = null;

private ObjectMetadata meta = null;

static{

try {

ACCESS_KEY_ID = SysConst.getProperty("OSS_ACCESS_KEY_ID");

ACCESS_KEY_SECRET = SysConst.getProperty("OSS_ACCESS_KEY_SECRET");

ENDPOINT = SysConst.getProperty("OSS_ENDPOINT");

BUCKETNAME = SysConst.getProperty("OSS_BUCKETNAME");

BUCKETNAME_VIDEO = SysConst.getProperty("OSS_BUCKETNAME_VIDEO");

OUT_OF_DATE = SysConst.getProperty("OSS_OUT_OF_DATE");

} catch (java.lang.Exception e) {

e.printStackTrace();

}

}

public void init(){

// 初始化一个OSSClient

client = new OSSClient(ENDPOINT,ACCESS_KEY_ID, ACCESS_KEY_SECRET);

meta = new ObjectMetadata();

}

/**

* @Description: 上传文件到OSS文件服务器

* @param content 文件流

* @param key 上传为OSS文件服务器的唯一标识

* @param mimeType 文档类型

* @throws Exception

* @ReturnType:String OSSObject的ETag值。

*/

public String uploadFile(InputStream content,String key,String mimeType) throws Exception{

//进行初始化

init();

// 必须设置ContentLength

meta.setContentType(mimeType);

// 上传Object.

LogUtil.printConsoleLog("*****************上传图片到oss服务器开始*****************" + key);

PutObjectResult result = client.putObject(BUCKETNAME, key, content, meta);

LogUtil.printConsoleLog("*****************上传图片到oss服务器结束*****************" + key);

return result.getETag();

}

/**

* @Description: 根据key获取oss服务器上的图片地址

* @param key

* @return

* @ReturnType:String

*/

public String getImgURl(String key){

init();

Date expires = new Date (new Date().getTime() + Integer.parseInt(OUT_OF_DATE)); // 30 minute to expire

GeneratePresignedUrlRequest generatePresignedUrlRequest ;

if(key.startsWith("msplatform")){

generatePresignedUrlRequest =new GeneratePresignedUrlRequest(BUCKETNAME, key);

}else {

generatePresignedUrlRequest =new GeneratePresignedUrlRequest(BUCKETNAME_VIDEO, key);

}

generatePresignedUrlRequest.setExpiration(expires);

URL url = client.generatePresignedUrl(generatePresignedUrlRequest);

return url.toString();

}

/**

* @Description:根据key获取oss服务器上的ipa文件地址

* @param key

* @return

* @ReturnType:String

*/

public String getIpaURl(String key){

init();

Date expires = new Date(new Date().getTime()+ 10*365*24*3600*1000);

GeneratePresignedUrlRequest generatePresignedUrlRequest ;

if(key.startsWith("msplatform")){

generatePresignedUrlRequest =new GeneratePresignedUrlRequest(BUCKETNAME, key);

}else {

generatePresignedUrlRequest =new GeneratePresignedUrlRequest(BUCKETNAME_VIDEO, key);

}

generatePresignedUrlRequest.setExpiration(expires);

URL url = client.generatePresignedUrl(generatePresignedUrlRequest);

return url.toString();

}

/**

* @Description: 根据key获取oss服务器上的图片地址

* @param key

* @return

* @ReturnType:String

*/

public InputStream getObject(String key){

init();

OSSObject object = null;

if(key.startsWith("msplatform")){

object= client.getObject(BUCKETNAME, key);

}else{

object= client.getObject(BUCKETNAME_VIDEO, key);

}

object.getObjectMetadata().getContentType();

// 获取Object的输入流

InputStream objectContent = object.getObjectContent();

return objectContent;

}

/**

* @Description:删除文件

* @param key OSS文件服务器上文件的唯一标识

* @ReturnType:void

*/

public void deleteFile(String key){

init();

client.deleteObject(BUCKETNAME, key);

}

/**

* @Description: 断点上传文件到OSS文件服务器

* @param content 文件流

* @param key 上传为OSS文件服务器的唯一标识

* @param position 位置

*/

public String appendObjectFile(InputStream content,String key,int position,String mimeType) throws Exception{

//进行初始化

init();

// 必须设置ContentLength

meta.setContentLength(position);

meta.setContentType(mimeType);

meta.setCacheControl("no-cache");

meta.setContentEncoding("utf-8");

// 上传

LogUtil.printConsoleLog("*****************断点上传图片到oss服务器开始*****************" + key);

AppendObjectRequest appendObjectRequest = new AppendObjectRequest(BUCKETNAME, key, content, meta);

appendObjectRequest.setPosition(Long.valueOf(position));

AppendObjectResult appendObjectResult =client.appendObject(appendObjectRequest);

LogUtil.printConsoleLog("*****************断点上传图片到oss服务器结束*****************" + key);

return appendObjectResult.getNextPosition().toString();

}

public static void main(String[] args) {

OssManage ossManage = new OssManage();

}

oss和ossclient上传区别

1、oss是阿里云对象存储服务是阿里云提供的海量、安全、低成本、高可靠的云存储服务,它是一个分布式的对象存储服务,提供的是一个Key-Value对形式的对象存储服务。

2、OSSClient是OSS的Java客户端,用于管理存储空间和文件等OSS资源。

3、oss和ossclient作用不同,意思不同。

oss文件java的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于oss文件打包下载、oss文件java的信息别忘了在本站进行查找喔。

The End

发布于:2022-11-22,除非注明,否则均为首码项目网原创文章,转载请注明出处。