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中的截图,还有代码的截图,都不允许我上传,说是内容不合法。。。也不知道是怎么个不合法。

解决办法 :

  1. 检查 用户掉线 (有没有上传的权限)
  2. 这是由于在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 协议》,转载必须注明作者和本文链接
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!