七牛qiu.js 上传图片 400报错

http 提示信息
Request URL:http://upload.qiniu.com/
Request Method:POST
Status Code:400 Bad Request
Remote Address:115.231.182.136:80
Response Headers
view source
Access-Control-Allow-Headers:X-File-Name, X-File-Type, X-File-Size
Access-Control-Allow-Methods:OPTIONS, HEAD, POST
Access-Control-Allow-Origin:*
Access-Control-Expose-Headers:X-Log, X-Reqid
Access-Control-Max-Age:2592000
Cache-Control:no-store, no-cache, must-revalidate
Connection:keep-alive
Content-Length:31
Content-Type:application/json
Date:Wed, 01 Jun 2016 06:03:50 GMT
Pragma:no-cache
Server:nginx/1.4.4
X-Content-Type-Options:nosniff
X-Log:UP/400
X-Reqid:GwUAAOYP6nll4FMU
Request Headers
view source
Accept:/
Accept-Encoding:gzip, deflate
Accept-Language:zh-CN,zh;q=0.8
Connection:keep-alive
Content-Length:1917
Content-Type:multipart/form-data; boundary=----WebKitFormBoundarytuQNheSSJolymhCt
DNT:1
Host:upload.qiniu.com
Origin:http://localhost:8080
Referer:http://localhost:8080/revitbus/revit/addRevit.html
User-Agent:Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/50.0.2661.102 Safari/537.36
Request Payload
------WebKitFormBoundarytuQNheSSJolymhCt
Content-Disposition: form-data; name="name"

jd.txt
------WebKitFormBoundarytuQNheSSJolymhCt
Content-Disposition: form-data; name="chunk"

0
------WebKitFormBoundarytuQNheSSJolymhCt
Content-Disposition: form-data; name="chunks"

1
------WebKitFormBoundarytuQNheSSJolymhCt
Content-Disposition: form-data; name="key"

------WebKitFormBoundarytuQNheSSJolymhCt
Content-Disposition: form-data; name="file"; filename="jd.txt"
Content-Type: text/plain

------WebKitFormBoundarytuQNheSSJolymhCt--

jsp代码

           <div  id="demo" aria-labelledby="demo-tab">
            <div class="row" style="margin-top: 20px;">
              <!--   <input type="hidden" id="domain" value="http://7xocov.com2.z0.glb.qiniucdn.com/">
                <input type="hidden" id="uptoken_url" value="uptoken"> -->
                <ul class="tip col-md-12 text-mute">
                    <li>
                        <small>
                            JavaScript SDK 基于 Plupload 开发,可以通过 Html5 或 Flash 等模式上传文件至七牛云存储。
                        </small>
                    </li>
                    <li>
                        <small>临时上传的空间不定时清空,请勿保存重要文件。</small>
                    </li>
                    <li>
                        <small>Html5模式大于4M文件采用分块上传。</small>
                    </li>
                    <li>
                        <small>上传图片可查看处理效果。</small>
                    </li>
                    <li>
                        <small>本示例限制最大上传文件100M。</small>
                    </li>
                </ul>
                <div class="col-md-12">
                    <div id="container1">
                        <a class="btn btn-default btn-lg " id="pickfiles" href="http://upload.qiniu.com/" >
                            <i class="glyphicon glyphicon-plus"></i>
                            <span>选择文件</span>
                        </a>
                    </div>
                </div>
                <div style="display:none" id="success" class="col-md-12">
                    <div>
                                队列全部文件处理完毕
                    </div>
                </div>
                <div class="col-md-12 ">
                    <table   style="margin-top:40px;display:none">
                        <thead>
                          <tr>
                            <th class="col-md-4">Filename</th>
                            <th class="col-md-2">Size</th>
                            <th class="col-md-6">Detail</th>
                          </tr>
                        </thead>
                        <tbody id="fsUploadProgress">
                        </tbody>
                    </table>
                </div>
            </div>
        </div>

js 代码
<script src="<c:url value='/resources/thirdparty/plupload.full.min.js' />" type="text/javascript"></script>

    <script src="<c:url value='/resources/thirdparty/qiniu.min.js' />" type="text/javascript"></script>
    <script src="<c:url value='/resources/thirdparty/qiniu.js' />" type="text/javascript"></script>
    <script type="text/javascript">
        //mainModule.domready(pageformModule.init);
        //引入Plupload 、qiniu.js后
        var ctx = "${pageContext.request.contextPath}";
       
        var uploader = Qiniu.uploader({
            runtimes: 'html5,flash,html4',    //上传模式,依次退化
            browse_button: 'pickfiles',       //上传选择的点选按钮,**必需**
            uptoken_url:  ctx + '/revit/getToken.html',            //Ajax请求upToken的Url,**强烈建议设置**(服务端提供)
            //uptoken : '111', //若未指定uptoken_url,则必须指定 uptoken ,uptoken由其他程序生成
            // unique_names: true, // 默认 false,key为文件名。若开启该选项,SDK为自动生成上传成功后的key(文件名)。
            // save_key: true,   // 默认 false。若在服务端生成uptoken的上传策略中指定了 `sava_key`,则开启,SDK会忽略对key的处理
            domain: 'http://7xukun.com1.z0.glb.clouddn.com/',   //bucket 域名,下载资源时用到,**必需**
            get_new_uptoken: false,  //设置上传文件的时候是否每次都重新获取新的token
            container: 'container1',           //上传区域DOM ID,默认是browser_button的父元素,
             //container : document.getElementById('container1'),
            max_file_size: '100mb',           //最大文件体积限制
            flash_swf_url: 'js/plupload/Moxie.swf',  //引入flash,相对路径
            max_retries: 3,                   //上传失败最大重试次数
            dragdrop: true,                   //开启可拖曳上传
            drop_element: 'container1',        //拖曳上传区域元素的ID,拖曳文件或文件夹后可触发上传
            chunk_size: '4mb',                //分块上传时,每片的体积
            auto_start: true,                 //选择文件后自动上传,若关闭需要自己绑定事件触发上传
            init: {
                'FilesAdded': function(up, files) {
                    plupload.each(files, function(file) {
                        // 文件添加进队列后,处理相关的事情
                    });
                },
                'BeforeUpload': function(up, file) {
                       // 每个文件上传前,处理相关的事情
                },
                'UploadProgress': function(up, file) {
                       // 每个文件上传时,处理相关的事情
                },
                'FileUploaded': function(up, file, info) {
                       // 每个文件上传成功后,处理相关的事情
                       // 其中 info 是文件上传成功后,服务端返回的json,形式如
                       // {
                       //    "hash": "Fh8xVqod2MQ1mocfI4S4KpRL6D98",
                       //    "key": "gogopher.jpg"
                       //  }
                       // 参考http://developer.qiniu.com/docs/v6/api/overview/up/response/simple-response.html

                       // var domain = up.getOption('domain');
                       // var res = parseJSON(info);
                       // var sourceLink = domain + res.key; 获取上传成功后的文件的Url
                },
                'Error': function(up, err, errTip) {
                       //上传出错时,处理相关的事情
                },
                'UploadComplete': function() {
                       //队列文件处理完毕后,处理相关的事情
                },
                'Key': function(up, file) {
                    // 若想在前端对每个文件的key进行个性化处理,可以配置该函数
                    // 该配置必须要在 unique_names: false , save_key: false 时才生效
                    var key = "";
                    // do something with key here
                    return key
                }
            }
        });
        }

请教问题会是 哪里

阅读 8.6k
1 个回答

400 请求报文格式错误。
包括上传时,上传表单格式错误;URL 触发图片处理时,处理参数错误;资源管理或持久化数据处理 (pfop) 操作请求格式错误。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
logo
七牛云问答
子站问答
访问
宣传栏