jquery实现文件上传到阿里云OSS

//policy 要经过base64编码, signature 还要进一步处理,可以查阅官方文档
function OssUpload(param, file, fileName, callBack) {
        var policyBase64 = Base64.encode(param.policy);
        var signature = param.signature.split(':')[1];
        var filePathName = param.filePath + "/" + param.fileName;
        var fileFullName = param.contentHostName + "/" + filePathName;
        var request = new FormData();
        request.append('OSSAccessKeyId', param.accessKeyId);
        request.append('policy', policyBase64);
        request.append('Signature', signature);
        request.append('key', filePathName);
        for (var i in param.metaDatas) {
            request.append(i, param.metaDatas[i]);
        }
        request.append('file', file);
        request.append('submit', "Upload to OSS");
        $.ajax({
            url: param.contentHostName,
            data: request,
            processData: false,
            cache: false,
            async: false,
            contentType: false,
            //关键是要设置contentType 为false,不然发出的请求头 没有boundary
            //该参数是让jQuery去判断contentType
            type: "POST",
            success: function (data, textStatus, request) {
                if (textStatus === "nocontent") {
                    callBack(fileFullName);
                    alert("success!");
                } else {
                    alert(textStatus);
                }
            }
        });
    }

 

posted on 2017-03-08 16:29 木子炜培先生 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/liadmin/p/6520043.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值