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 协议》,转载必须注明作者和本文链接
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

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