java后端验证后前台直接上传oss
自用代码记录
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);
},
