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

开发者社区> 问答> 正文

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

2016-08-01 15:27:04 5668 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

回答

java调用阿里oss上传文件

2020-05-24 22:08:29 404浏览量 回答数 1

1

回答

antd upload上传阿里云oss问题

2020-05-13 17:15:00 1565浏览量 回答数 1

1

回答

上传到阿里云oss HmacSHA1

2018-01-11 18:17:38 2908浏览量 回答数 1

1

回答

在阿里云上部署带数据库java网站有几种方式

2017-10-25 09:34:19 1863浏览量 回答数 1

0

回答

阿里云OSS JavaScript SDK有没有非压缩版的呢?

2017-01-07 20:15:49 3294浏览量 回答数 0

3

回答

oss如何在java服务端中生成临时的url给app端上传文件

2016-07-14 18:32:41 8061浏览量 回答数 3

1

回答

java代码如何实现文件上传至oss,从oss上下载文件

2016-05-12 14:41:15 7837浏览量 回答数 1

5

回答

java端上传文件成功,收不到oss的回调

2016-03-16 18:12:18 9221浏览量 回答数 5

2

回答

java 上传oss问题

2016-02-23 16:07:28 4393浏览量 回答数 2

1

回答

JAVA的OSS上传如何返回上传结果?

2014-10-18 18:04:48 5637浏览量 回答数 1
0
文章
2
问答
问答排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载