上传策略,重大bug,求解决,文件类型和文件大小限制上传策略完全不起作用

上传策略,重大bug.(只有上传exe或msi类型的文件时,才会出这个问题)

使用xmlhttp形式post数据上传时,文件类型和文件大小限制上传策略完全不起作用。以下是参考代码片断,即使文件类型不对,居然也能上传成功,说明服务端的文件类型和文件大小限制上传策略完全不起作用,我已经反复确认过了,我生成的上传策略,肯定没问题。
以下是客户端代码片断。

   var file = document.getElementById('file').files[0];
        var xhr = new XMLHttpRequest();

        xhr.open("POST", "http://up.qiniu.com/", true);

        var data = new FormData();
        data.append("token", token);
        data.append("file", file);

        xhr.onload = function () {
            // do something to response
            console.log("onload");
            if (this.status == 200) {
                console.log(this.responseText);
            }
        };

        xhr.send(data);

以下是上传策略生成过程中的一部分
{"scope":"prodhsypicture","deadline":1394905419,"mimeLimit":"image/*","fsizeLimit":100}
生成后是一长串的上传凭证“bzwkecjAws9XP6hWF10LX9j6hEQcw1Rl48jmOt1f:aDa_ruXVtz0jFTfGo3Qz5UC_1gA=:eyJzY29wZSI6InByb2Roc3lwaWN0dXJlIiwiZGVhZGxpbmUiOjEzOTQ5MDU0MTksIm1pbWVMaW1pdCI6ImltYWdlLyoiLCJmc2l6ZUxpbWl0IjoxMDB7"

阅读 6.7k
1 个回答

根据你的token中包含的putPolicy信息部分,decode得到的结果如下:

>>> from base64 import urlsafe_b64decode as b64d
>>> b64d('eyJzY29wZSI6InByb2Roc3lwaWN0dXJlIiwiZGVhZGxpbmUiOjEzOTQ5MDU0MTksIm1pbWVMaW1pdCI 6ImltYWdlLyoiLCJmc2l6ZUxpbWl0IjoxMDB7')
'{"scope":"prodhsypicture","deadline":1394905419,"mimeLimit":"image/*","fsizeLimit":100{'

不是一个合法的json字符串。还请先核对你的token生成代码。

update

使用你提供的信息,今天8点以后仅一条上传记录:

POST 4XsAACAha3ZxylsT 403 113.119.117.57 http://up.qiniu.com//
{"Content-Length": "651", "IP": "127.0.0.1", "X-Scheme": "http", "User-Agent": "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.64 Safari/537.31", "Host": "up.qiniu.com", "Content-Type": "multipart/form-data; boundary=----WebKitFormBoundaryTcBmksYMZNc7PgAR"}
{"error":"limited mimeType: this file type is forbidden to upload"}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进