oss 使用 JS 的 sdk,不能再 https 下进行 Web 直传
使用js的sdk进行web端直传,开发环境下测试没有问题,但部署到服务器上时出现了问题,服务器上的站点是基于https协议进行访问的,在此情况下,web端直传出现了异常,错误如下:
TypeError: Failed to fetch (req "error"), PUT http: //sun8wd.oss-cn-shanghai.aliyuncs.com/1463472966671/%E6%89%AB%E6%8F%8F1.PDF -1 (connected: false, keepalive socket: false, agent status: {"createSocketCount":0,"closeSocketCount":0,"errorSocketCount":0,"timeoutSocketCount":0,"requestCount":0,"freeSockets":{},"sockets":{},"requests":{}})(…)
错误信息是catch中的console.log输出的
client.multipartUpload(file.name,file,option).then(function(result){
console.log(result);
}).catch(function(err){
console.log(err);
});
排版丑陋,请忽略,我在浏览器的console中的截图,还有代码的截图,都不允许我上传,说是内容不合法。。。也不知道是怎么个不合法。
解决办法 :
- 检查 用户掉线 (有没有上传的权限)
- 这是由于在HTTPS的网页中,不允许发起HTTP的请求,你可以使用https的endpoint。
var client = new OSS.Wrapper({
region: 'oss-cn-shanghai',
secure: true, (添加一个参数试试)**
accessKeyId: '',
accessKeySecret: ''
});
望高手指导修改,谢谢
使用心得 如果上面两个方法都无法处理 :
考虑是不是 应用的sdk的问题 :
http://gosspublic.alicdn.com/aliyun-oss-sd... (之前只用这个插件,传到500多M就会出现链接失败的提示,必须强制刷新才能再次上传);
可以替换成 :
http://gosspublic.alicdn.com/aliyun-oss-sd... ;
替换之后的checkpoint 会有变化,根据自己的需求改变checkpoint
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: