java如何通过uploadify上传到阿里云oss-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

java如何通过uploadify上传到阿里云oss

2016-08-01 15:27:04 5805 2

正在学习后台开发,前端是ios,后台是java,想通过uploadify插件来将用户上传的图片保存到阿里云的OSS,表单数据保存到阿里云的RDS中,已经能保存到本地,请问具体该如何将图片上传到OSS,若不能用uploadify,那该如何上传,期待您的解答。

取消 提交回答
全部回答(2)
  • 名字不能长
    2019-07-17 20:02:11
    已采纳

    通过ossclient上传。

    try {
                OSSClient client = new OSSClient(END_POINT, ACCESS_ID, ACCESS_KEY);
                System.out.println("come to create bucket name");
                boolean exist = client.doesBucketExist(BUCKETNAME);  
                System.out.println("exist is: "+exist);
                if (!exist) {  
                    client.createBucket(BUCKETNAME);
                }  
                BucketInfo bucketInfo = client.getBucketInfo(BUCKETNAME);
                System.out.println("================================bucketInfo: "+bucketInfo);
    //          //设置bucket的访问权限,public-read-write权限
    //          client.setBucketAcl(BUCKETNAME, CannedAccessControlList.PublicRead);
    
                ByteArrayOutputStream out = new ByteArrayOutputStream();// 先读入内存
                byte[] b = new byte[512];
                int len;
                while ((len = is.read(b)) != -1) {
                    out.write(b, 0, len);
                }
    
                String key = MD5Util.getMD5String(out.toByteArray());
    
                ObjectMetadata objectMeta = new ObjectMetadata();
                objectMeta.setContentLength(out.size());
                // 可以在metadata中标记文件类型
                if (StringUtils.isEmpty(name)) {
                    name = "temp.png";
                }
                if(name.toLowerCase().contains(".png")) {
                    objectMeta.setContentType("image/png");
                    key += ".png";
                }else if(name.toLowerCase().contains(".gif")) {
                    objectMeta.setContentType("image/gif");
                    key += ".gif";
                }else {
                    objectMeta.setContentType("image/jpeg");
                    key += ".jpg";
                }
    
    
    //          InputStream in = new ByteArrayInputStream(out.toByteArray());
    
                PutObjectResult result = client.putObject(BUCKETNAME, key, is, objectMeta);
    //          System.out.println("result: "+result);
    //          System.out.println("key: "+key);
                client.shutdown();
                if(result!=null){
                    return key;
                }
                return null;
            } catch (Exception e) {
                e.printStackTrace();
            } finally{
                if(is != null){
                    try {
                        is.close();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
            }
    0 0
  • yyyiii
    2019-07-17 20:02:11

    在阿里云搜索oss帮助文档,里面有介绍怎么用java后台调用oss接口:需要将阿里云提供的jar包导入你的项目中,然后将阿里云提供的代码放入你的项目中(代码中需要填入你在阿里云获得的key)

    0 0
添加回答
相关问答

1

回答

oss putobject 上传一半失败了, doesObjectExist的返回值什么?

2020-12-08 23:31:40 464浏览量 回答数 1

1

回答

OSS文件上传,http put请求被waf阻止,是否有其他请求能够上传?

2020-12-07 16:45:35 1518浏览量 回答数 1

0

回答

.Net Core 使用阿里SDK开发OSS 按照官方文档开发上传回调时报异常码415

2020-11-30 11:32:35 593浏览量 回答数 0

1

回答

[必现]特定文件特定设备中上传OSS必定失败

2020-11-30 11:43:04 652浏览量 回答数 1

1

回答

oss上传是否支持图片cmyk分辨率

2020-11-09 17:41:17 503浏览量 回答数 1

0

回答

oss服务端签名直传并设置上传回调、怎么添加上传文件的可读权限?

2020-10-20 18:01:28 399浏览量 回答数 0

3

回答

上传pdf文件到oss时一直报错.oss.OSSException: 返回结果无效,无法解析

2020-10-14 10:11:47 2377浏览量 回答数 3

0

回答

OSS Api的PutObject上传txt文件成功后,会自动加上:Content-Disposit

2020-09-25 17:29:58 657浏览量 回答数 0

1

回答

使用oss上传的pdf文件,不能再浏览器打开,而是直接下载?请问有解决的办法吗?

2020-09-15 09:09:35 2019浏览量 回答数 1

1

回答

如何根据绝对路径上传OSS

2020-09-14 13:06:17 1011浏览量 回答数 1
文章
问答
问答排行榜
最热
最新
相关电子书
更多
云存储之OSS实战进阶分享
立即下载
百问百答-OSS (上)
立即下载
百问百答-OSS (下)
立即下载