七牛云存储 - 七牛java SDK上传策略没有生效

查看:213
本文介绍了七牛云存储 - 七牛java SDK上传策略没有生效的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

  1. 使用七牛java SDK qiniu-java-sdk-7.0.11.jar包进行上传测试。如果不设置上传策略,一切正常。如果设置上传策略,上传也是正常,但是上传策略无效。
    设置了:

    fsizeLimit=1000000
    mimeLimit=image/*

使用这个策略生成token,上传文件的大小是4820861,文件的格式不是图片文件是普通二进制格式的文件,但是上传还是能正常完成,没有给出任何不符合上传策略的错误提示。

  1. 测试部分代码如下

public String getToken(Long fsizeLimit, String mimeLimit, Integer deleteAfterDays) {
        StringMap policy = new StringMap();
        if (null != fsizeLimit && fsizeLimit > 0) {
            policy.put("fsizeLimit", fsizeLimit);
        }
        if (!StringUtils.isEmpty(mimeLimit)) {
            policy.put("mimeLimit", mimeLimit);
        }
        if (null != deleteAfterDays && deleteAfterDays > 0) {
            policy.put("deleteAfterDays", deleteAfterDays);
        }

        Auth auth = Auth.create("xxxxxxxxxxxxx", "yyyyyyyyyyyyyyy");
        return auth.uploadToken("test");
    }
    
    public void doUpload(File file, String brokerpath, String token) throws IOException {
        Recorder recorder = new FileRecorder(brokerpath);
        UploadManager uploadManager = new UploadManager(recorder);
    
        Response res = uploadManager.put(file, file.getName(), token);
        System.out.println(res.toString());
    }

    public static void main(String[] args) throws IOException {
        QiniuUploadTest t = new QiniuUploadTest();
        String token = t.getToken(1000000L, "image/*", 1);
        System.out.println("TOKEN:" + token);
        File file = new File("d:/test.pqt");
        System.out.println("File size:" + file.length());
        t.doUpload(file, "d:/tmp", token);
    }

  1. 执行结果

TOKEN:yEHtUCAddqj0IGbHqMjE2x7OsuMDRX782QAzsfhp:v_2pqML2YSnwDb4S9VYAvxkPjno=:eyJzY29wZSI6ImRsenRjIiwiZGVhZGxpbmUiOjE0ODcxMzg5NDR9
File size:4820861
{ResponseInfo:com.qiniu.http.Response@587d1d39,status:200, reqId:gRYAAG38kZa2XaMU, xlog:s.ph;s.ph;PFDS;PFDS:1;PTFDM:20;s.gh;PFDS/613;s.gh;PFDS/613;s.gh/EOF;PFDS/620;AUTHPROXY_xs_out:5/620;PTFDM:5;PTFDS;rdb.g:1/no such key;DBD:1/404;v4.exist:2/Document not found;rs29_4.ins;qtbl.ins:3;mc.s;RS:4;rs.put:9;UP:55;UP:56, xvia:, adress:up.qiniu.com/115.231.97.46:80, duration:0.000000 s, error:null}

  1. 上传文件能下载

  1. 使用nodeJS版的SDK,发现上传策略能正常生效。使用最新的java版的SDK Release v7.2.4版本,上传策略还是不能生效。

解决方案

代码有问题,策略设置了,但是在获取token的时候没有使用。

public String getToken(Long fsizeLimit, String mimeLimit, Integer deleteAfterDays) {
.
.
.
return auth.uploadToken("test", null, 3600, policy);

这篇关于七牛云存储 - 七牛java SDK上传策略没有生效的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆