前端上传图片到阿里云 OOS

下载demo看了一下,发现根本看不懂!!

然后就去找同事寻求帮助,从第一个按钮开始慢慢研究。

有用的按钮就两个,一个是选择文件,一个数开始上传,一张图的上传还比较简单,写个接口从后台读取OSSAccessKeyId、signature这些参数再上传就好了,问题是有多个按钮怎么弄!从选择文件开始,选择文件的按钮在plupload.Uploader是可以传数组的!!,想了好久,还是得靠百度解决问题。。

第一个按钮搞定了。开始第二个。

第二个就没这么容易搞定了

从最简单的开始,看到了有PostInit里面有个方法叫document.getElementById('postfiles').onclick = function ()   {

         set_upload_param(uploader, '', false);
            return false;

  }

id就是开始上传的按钮,console.log一下,果然是这个,然后又开始研究set_upload_param函数。

上传一张图的时候直接请求接口拿到参数给个名字上传就完事了,多张图的时候每次请求拿到的回调都是同一个函数..

开始怀疑是不是接口写的有问题了。又卡了一个小时,不断的console.log(),终于看到文件名字是JS生成的!

接口只返回文件夹名字。。

代码很简单,排查起来感觉特别复杂,特别是对于我这种2年没写过js代码的人来说简直要了老命了!

关于怎么给多个缩略图赋值的问题:

设置一个全局变量type,在每个开始上传的函数里面赋值type=ID名字

然后上传成功的时候$("#"+type).attr('src',路径)就好了

上传的函数里面还有个BeforeUpload,也卡了我好久,每次都会调用两次上传函数,一直想不明白,以为是前面的代码影响的,不断的console.log才打印出来问题,把BeforeUpload注释掉就能正常上传了

下面是80%的js代码,以此记录一下

   //设置上传参数
        function set_upload_param(up, filename, ret,num) {
            var url = "{:url('/owner/index/ossAli')}";

            $.get(url, function (data) {
                if(data.code==1){                    
                    var data = data.data;
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值