● action [str] : "upload"不可更改
● file [] : 圖片數(shù)據(jù)
● dir [str] : 圖片上傳的位置,對(duì)應(yīng)upload文件夾下相應(yīng)模塊
● filename [str] : 圖片上傳命名規(guī)則,沒有則按年月日
var reader = new FileReader(); var formData = new FormData(); reader.readAsDataURL(file); reader.onloadend = function (even) { formData.append("action", "upload"); // 必須項(xiàng),不可修改 // 圖片數(shù)據(jù)'file'為必須的命名不可更改,第二個(gè)參數(shù)為圖片數(shù)據(jù) formData.append("file", file); // 添加自定義屬性(name) // 圖片存放路徑,第一個(gè)參數(shù)'dir'不可更改,第二個(gè)為upload文件夾下的文件夾名稱,沒有的話自動(dòng)創(chuàng)建 formData.append("dir", "vote_sys"); // 圖片保存名稱,可有,沒有則按年月日命名 // formData.append("filename", "my_file_name"); $.ajax({ type: 'POST', // 請(qǐng)求方式 url: '/api/admin_process', // 必須的請(qǐng)求路徑 data: formData, // 參數(shù) dataType: 'json', // 數(shù)據(jù)類型 success: function (data) { // 請(qǐng)求成功后的回調(diào)函 if (data.state == "FAILURE") { // 失敗打印錯(cuò)誤信息 layer.msg(data.msg, { time: 1000 }); } else { layer.msg(data.msg, { time: 1000 }); } }, error: function () { // 請(qǐng)求失敗后的回調(diào)函數(shù) layer.msg('上傳失敗', { time: 1000 }); } }) }
{'state': 'FAILURE', 'msg': ''} # 失敗時(shí)返回 msg 錯(cuò)誤消息 # 成功時(shí)返回url/新的文件-名/文件大小M/文件類型后綴 {'state': 'SUCCESS', 'url': '/upload/product/category/201909/190902152940.png', 'filename': '190902152940.png', 'size': 0.07, 'type': '.png', 'loginid': ''}