开发者社区> 问答> 正文

使用java版本的aliyun-sdk-oss2.0.7如何设置回调?

使用javat版本的Oss的sdk,调用文件上传putObject

PutObjectRequest putReq=new PutObjectRequest(bucketName,objectKey, repeatable,metadata);
// 上传Object.
PutObjectResult result = client.putObject(putReq);如何设置回调,

PutObjectRequest类没有设置回高的方法,好象client的pubObject方法里也没有设置的方法。如果按照官方API文档,PUT方式可以把callback设置到header中,可client.putobject()方法中使用PutObjectRequest参数的方法根本没给机会设置header

而android版本的可以设置的
String uploadFilePath="";
        // 构造上传请求
        PutObjectRequest put = new PutObjectRequest("<bucketName>", "<objectKey>", uploadFilePath);
        // 文件元信息的设置是可选的
        ObjectMetadata metadata = new ObjectMetadata();
        metadata.setContentType("application/octet-stream"); // 设置content-type
        metadata.setContentMD5(BinaryUtil.calculateBase64Md5(uploadFilePath)); // 校验MD5
        metadata.setContentDisposition("attachment;filename=oss_download.jpg");
        // user自定义metadata
        metadata.addUserMetadata("x-oss-meta-cabletech", "value1");
        put.setMetadata(metadata);

        put.setCallbackParam(new HashMap<String, String>() {
            {
                put("callbackUrl", "123.57.49.107:8080/aliyun/uploadcallback");
                put("callbackBody", "etag=${etag}&fileid=${object}&size=${size}&mimeType=${mimeType}"
                        +"&imageHeight=${imageInfo.height}&imageWidth=${imageInfo.width}&imageFormat=${imageInfo.format}");
                put("callbackBodyType","application/x-www-form-urlencoded");
            }
        });

展开
收起
ylybbs 2015-12-19 19:28:46 7397 0
0 条回答
写回答
取消 提交回答
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载