webman-admin 后台,自定义业务功能上传excel,出错

debm

问题描述

参照了上传头像的代码, 修改了 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');
      } 
344 1 0
1个回答

debm

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", 这样就可以上传了

  • 暂无评论
🔝