layui吧 关注:390贴子:1,030
  • 1回复贴,共1

Layui upload 文件上传 不显示错误信息

只看楼主收藏回复

首先说明,这是一个吐槽帖,不是技术贴。
然后介绍一下项目需求,功能是文件上传,要求选中文件后自动上传,上传失败后显示上传失败的原因。
我负责前端,使用 Layui 的文件上传,但是当上传失败时(上传的文件内容不符合格式要求),后端传来 403 的状态码,于是就会进入到 error ,而不是进入到 done 中,因为 error 是不会返回错误信息的,这样就导致无法显示错误信息。
这种情况,最直接的方法就是,如果上传的文件是因为内容不符合格式要求而上传失败的,那后端不要传来 403 的状态码,最好传个 200 的状态码,这样进入到 done 中,可以将错误信息显示出来。
就此问题多次跟后端沟通,要求不要返回 403 的状态码,后端大佬不改,还反问为什么 ajax 能显示出来错误信息,我只是刚入行实习不到一个月的小菜鸟,无力的解释了几句之后,因为被后端大佬无视,就不再提了。
沟通无果,百度查不到答案,请教多人也无法解决,中间想过干脆不要用 Layui 了,但是普通的 input 怎么实现自动上传我没研究过,而且这个项目都是 Layui 的样式,单独一个文件上传不是 Layui 的样式,感觉很不协调。
思前想后,今天灵光一闪,想到了一个笨方法,就是把 Layui 的自动上传改为非自动上传,然后调用 choose ,在 choose 中可以获取要上传的文件,然后使用 ajax 上传
这样使用了 Layui 的样式、实现了自动上传、实现了错误信息显示,但实际上是使用 ajax 实现上传功能,后面的 done 和 error 并没有机会执行。
唉,一个简单的问题,就因为前后端无法理解,而浪费这么多时间,这可能就是传说中“有困难要上,没有困难制造困难也要上”。
补充一点,发现 Layui 对于同名的文件,只能连续上传一次,所以需要清空 input file ,如下图所示


IP属地:山东1楼2020-04-29 08:12回复
    我也遇到了楼主的问题,但是返回的是
    {
    "timestamp": "2020-07-27 11:45:17",
    "status": 500,
    "error": "Internal Server Error",
    "message": "No transaction aspect-managed TransactionStatus in scope",
    "path": "/DataAdmin/manager/uploadExcel"
    },,,
    不知道咋搞,楼主遇到这种问题吗


    IP属地:江苏2楼2020-07-27 11:47
    回复