參照了上傳頭像的代碼, 修改了 acceptMime類(lèi)型, 上傳的接口也修改為了接收excel 的接口, 不管我把上傳的代碼哪部分注釋掉, 總會(huì)提示 "選擇的圖片中包含不支持的格式", 我一步步的調(diào)試,但這個(gè)錯(cuò)好像不會(huì)走我寫(xiě)的代碼一樣,但確實(shí)是在我寫(xiě)的頁(yè)面里的, 以下代碼中,只會(huì)打出'upload...' 這個(gè), 下面的 "done" 和 "error" 都不會(huì)出現(xiàn),有懂的朋友可以指點(diǎn)一下嗎?
前端代碼如下:
// 上傳 xlsx
layui.use(["upload", "layer"], function() {
console.log("upload...");
let input = layui.$("#task_detail").prev();
// input.prev().attr("value", input.val());
layui.upload.render({
elem: "#task_detail",
url: "/admin/task/insert",
// value: "/app/admin/avatar.png",
acceptMime: "application/vnd.ms-excel,application/xls,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
field: "__file__",
done: function (res) {
console.log("done!!");
if (res.code > 0) return layui.layer.msg(res.msg);
this.item.prev().val(res.data.url).prev().attr("src", res.data.url);
},
error: function () {
console.log("error!!!");
}
});
});
PHP代碼:
public function insert(Request $request): Response
{
if ($request->method() === 'POST') {
var_dump('post file');
var_dump(current($request->file()));
// return parent::insert($request);
return json(['code' => 2, 'msg' => '出錯(cuò)了']);
}
return raw_view('task/insert');
}
layui.upload.render({
elem: "#task_detail",
url: "/admin/task/insert",
// value: "/app/admin/avatar.png",
accept: "file",
acceptMime: "application/vnd.ms-excel,application/xls,application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
field: "__file__",
done: function (res) {
console.log("done!!");
if (res.code > 0) return layui.layer.msg(res.msg);
this.item.prev().val(res.data.url).prev().attr("src", res.data.url);
},
error: function () {
console.log("error!!!");
}
});
render 里多加了一個(gè)選項(xiàng) accept: "file",
這樣就可以上傳了