自用代码记录
upload_oss_file: function (file, orderId, success, error = function () {}, progress) {
if (!orderId) {
layer.msg('传入的订单id为空', {icon: 2});
return error();
}
if (!file || file.size == 0) {
layer.msg('传入的文件为空', {icon: 2});
return error();
}
admin.req('aliyunOss/getOSSSign', {}, function (data) {
if (data.code == 0) {
var formData = new FormData();
var fileName = `order/${admin.getNowFormatDate()}/${orderId}/${orderId}-${parseInt(Math.random() * 100000000)}${file.name.substring(file.name.lastIndexOf('.'), file.name.length)}`;
var fileUrl = data.data.dir + '/' + fileName;
formData.append('key', fileUrl);
formData.append('policy', data.data.policy);
formData.append('OSSAccessKeyId', data.data.accessid);
formData.append('signature', data.data.signature);
formData.append('success_action_status', 200);
formData.append('file', file);
$.ajax({
async: true,
url: data.data.domain,
processData: false,
cache: false,
contentType: false,
type: 'POST',
data: formData,
success: function () {
return success(data.data.domain + '/' + fileUrl);
},
error: error,
xhr: function () {
var xhr = new XMLHttpRequest();
xhr.upload.addEventListener('progress', progress)
return xhr;
}
})
} else {
layer.msg(data.msg, {icon: 2});
}
}, 'POST');
},