php上传cos文件预签名,在上传文件到AWS S3时设置随机文件名,带有预签名的POST u...

我发现这是可行的:$(function () {

'use strict';

var form = $('#fileupload');

// Initialize the jQuery File Upload widget:

$('#fileupload').fileupload({

dropZone: $('#dropzone'),

previewMaxHeight: 300,

previewMaxWidth: 300,

acceptFileTypes: /(\.|\/)(gif|jpe?g|png)$/i,

dataType: 'XML',

getFilesFromResponse: function (data) {

var key = $(data.jqXHR.responseXML).find("Key").text();

var url = $(data.jqXHR.responseXML).find("Location").text();

return [{

url: url,

name: key,

thumbnailUrl: url,

}];

},

}).on('fileuploadsubmit', function (e, data) {

data.formData = (function (form) {

var r = form.serializeArray();

$.each(form.data('theform-data'), function(k, v) {

if (k == "key") {

var filename = v.split("/");

var random_prefix = filename[0];

var ext = data.files[0].name.split(".").slice(-1)[0];

v = random_prefix + '/'

+ (function (length, chars) {

var result = '';

for (var i = length; i > 0; i) result += chars[Math.floor(Math.random() * chars.length)];

return result;

})(10, '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ')

+ '.' + ext.toLowerCase();

};

r.push({name: k , value: v})

});

return r;

})(data.form);

data.formData.push({name: "Content-Type" , value: data.files[0].type});

});

});

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值