「oss文件java」oss文件打包下载
今天给各位分享oss文件java的知识,其中也会对oss文件打包下载进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、求助,OSS的JAVA上传出错,以前没有出现错误
- 2、通过java如何获取到上传阿里云OSS的文件的下图的下载文件地址,
- 3、怎么用javaweb上传文件到阿里云OSS
- 4、oss和ossclient上传区别
求助,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的信息别忘了在本站进行查找喔。
发布于:2022-11-22,除非注明,否则均为
原创文章,转载请注明出处。