参照了上传头像的代码, 修改了 acceptMime类型, 上传的接口也修改为了接收excel 的接口, 不管我把上传的代码哪部分注释掉, 总会提示 "选择的图片中包含不支持的格式", 我一步步的调试,但这个错好像不会走我写的代码一样,但确实是在我写的页面里的, 以下代码中,只会打出'upload...' 这个, 下面的 "done" 和 "error" 都不会出现,有懂的朋友可以指点一下吗?
前端代码如下:
// 上传 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' => '出错了']);
}
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 里多加了一个选项
accept: "file",
这样就可以上传了