• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

javascript – 上传失败 token not specified

php 搞代码 3年前 (2022-01-23) 52次浏览 已收录 0个评论
文章目录[隐藏]

同样的代码
在www.a.com 下上传正常
在www.b.com 下,相同的代码,通过www.a.com 拿到token 上传报错 error: “token not specified

uptoken_func 下uptoken 返回了空值之后才被 ajax 回调过来的数据赋值,所以上传的时候 token 为空

<code>var qiniu_up = qiniu.uploader({            runtimes : 'html5,flash,html4',            browse_button : 'qiniu_browse',            get_new_uptoken: true,            unique_names: false,            save_key : true,            domain : '<?php echo QINIU_BUCKET_SITE;?>',            container : 'container',            max_file_size: '4mb',            flash_swf_url : '<?php echo RES_ROOT.'/assets/js/plupload/Moxie.swf';?>',            silverlight_xap_url : '<?php echo RES_ROOT.'/assets/js/plupload/Moxie.xap';?>',            max_retries: 1,            dragdrop: false,            drop_element : 'container',            chunk_size : '4mb',            auto_start: false, /*不开启自动上传*/            multi_selection: false, /*设置为只能选择单个文件*/            filters : {                mime_types : [{title : 'Image files', extensions : 'jpg,jpeg,gif,png,bmp'},{title : 'Voice files', extensions : 'mp3,wav'}]            },            init : {            },            uptoken_func: function(file){              var uptoken = '';              var media_info = '[{"directory": "1","directory_class": "","up_file_name": "'+file.name+'","media_type": "1"}]';                 $.ajax({                     type : "post",                     async : false, /*必须使用同步*/                     url : '<?php echo WEBSITE_URL.'/qiniu_upload/media_uptoken';?>',                     data : {                         app_version : '1.0',                         app_target : 3,                         sdk_version : '1.0',                         plat : 'other',                         media_info : media_info                     },                     dataType : "jsonp",                     jsonp: "jsonpCallback",                     success : function(data){                         if(data.code == '1') {                             var list = data.data.uptoken_list;                             uptoken = list[0]<strong>*本文来源gaodai#ma#com搞@代~码^网+</strong><strong>搞代gaodaima码</strong>['uptoken'];                             media_id = list[0]['media_id'];                         } else {                             alert(data.message);                         }                     },                       error : function(XMLHttpRequest, textStatus, errorThrown){                                               }                   });                return uptoken;            }        });</code>

回复内容:

同样的代码
在www.a.com 下上传正常
在www.b.com 下,相同的代码,通过www.a.com 拿到token 上传报错 error: “token not specified

uptoken_func 下uptoken 返回了空值之后才被 ajax 回调过来的数据赋值,所以上传的时候 token 为空

<code>var qiniu_up = qiniu.uploader({            runtimes : 'html5,flash,html4',            browse_button : 'qiniu_browse',            get_new_uptoken: true,            unique_names: false,            save_key : true,            domain : '<?php echo QINIU_BUCKET_SITE;?>',            container : 'container',            max_file_size: '4mb',            flash_swf_url : '<?php echo RES_ROOT.'/assets/js/plupload/Moxie.swf';?>',            silverlight_xap_url : '<?php echo RES_ROOT.'/assets/js/plupload/Moxie.xap';?>',            max_retries: 1,            dragdrop: false,            drop_element : 'container',            chunk_size : '4mb',            auto_start: false, /*不开启自动上传*/            multi_selection: false, /*设置为只能选择单个文件*/            filters : {                mime_types : [{title : 'Image files', extensions : 'jpg,jpeg,gif,png,bmp'},{title : 'Voice files', extensions : 'mp3,wav'}]            },            init : {            },            uptoken_func: function(file){              var uptoken = '';              var media_info = '[{"directory": "1","directory_class": "","up_file_name": "'+file.name+'","media_type": "1"}]';                 $.ajax({                     type : "post",                     async : false, /*必须使用同步*/                     url : '<?php echo WEBSITE_URL.'/qiniu_upload/media_uptoken';?>',                     data : {                         app_version : '1.0',                         app_target : 3,                         sdk_version : '1.0',                         plat : 'other',                         media_info : media_info                     },                     dataType : "jsonp",                     jsonp: "jsonpCallback",                     success : function(data){                         if(data.code == '1') {                             var list = data.data.uptoken_list;                             uptoken = list[0]['uptoken'];                             media_id = list[0]['media_id'];                         } else {                             alert(data.message);                         }                     },                       error : function(XMLHttpRequest, textStatus, errorThrown){                                               }                   });                return uptoken;            }        });</code>

看楼主的代码 好像是往七牛CDN上面上传文件
token的问题 楼主可以看看是不是JS跨域问题 你也可以看看七牛的开发文档 或者 联系七牛的技术人员联调一下

uptoken_func 下的ajax 跨域了以后他的运行顺序变了 所有的程序都执行完了才执行到success 下的uptoken 的被赋值,所以上传上去的uptoken 为空


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:javascript – 上传失败 token not specified
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址