jeecgboot / JeecgBoot

🔥「企业级低代码平台」前后端分离架构SpringBoot 2.x/3.x,SpringCloud,Ant Design&Vue3,Mybatis,Shiro,JWT。强大的代码生成器让前后端代码一键生成,无需写任何代码! 引领新的开发模式,引入AI模型能力 OnlineCoding->代码生成->手工MERGE,帮助Java项目解决70%重复工作,让开发更关注业务,既能快速提高效率,帮助公司节省成本,同时又不失灵活性。
http://www.jeecg.com
Apache License 2.0
40.69k stars 14.85k forks source link

前端上传组件,部署生产环境后,无法上传文件 #7044

Closed xhyooo closed 3 months ago

xhyooo commented 3 months ago
版本号:

3.7.0

问题描述:

前端上传组件,部署生产环境后,无法上传文件

错误截图:

image

TypeError: ce.upload.addEventListener is not a function at index-BbxyWJ4z.js:10:6238 at new Promise () at xhr (index-BbxyWJ4z.js:10:3704) at Axios$1.dispatchRequest (index-BbxyWJ4z.js:12:658) at Axios$1. (index-BbxyWJ4z.js:12:3859) at Generator.throw () at Q (index-BbxyWJ4z.js:2:774)

zhangdaiscott commented 3 months ago

这是那个组件啊,我们好像废弃了这个了

xhyooo commented 3 months ago

https://help.jeecg.com/component/Upload.html 这个组件

http://boot3.jeecg.com/comp/third/upload

xhyooo commented 3 months ago

https://github.com/jeecgboot/JeecgBoot/blob/master/jeecgboot-vue3/src/components/Upload/src/BasicUpload.vue 这个目录路径下,组件还挺好的用的啊,我看文档上面还保留着呢 @zhangdaiscott

xhyooo commented 3 months ago

功能没有什么问题,开发模式下,可以正常使用,就是打包编译后,就不能使用了,提示上面截图的错误

yang-xianzhu commented 3 months ago

功能没有什么问题,开发模式下,可以正常使用,就是打包编译后,就不能使用了,提示上面截图的错误

我也遇到过,你顺着这个组件里面调用方法,我记得是函数里用到了一个入参,但是调用的时候没有传,所以报错的

xhyooo commented 3 months ago

功能没有什么问题,开发模式下,可以正常使用,就是打包编译后,就不能使用了,提示上面截图的错误

我也遇到过,你顺着这个组件里面调用方法,我记得是函数里用到了一个入参,但是调用的时候没有传,所以报错的

什么入参呢,有具体代码示例吗。我用了onUploadProgress 就报错,不用这个传参,打包部署没有问题 @yang-xianzhu

yang-xianzhu commented 3 months ago

功能没有什么问题,开发模式下,可以正常使用,就是打包编译后,就不能使用了,提示上面截图的错误

我也遇到过,你顺着这个组件里面调用方法,我记得是函数里用到了一个入参,但是调用的时候没有传,所以报错的

什么入参呢,有具体代码示例吗。我用了onUploadProgress 就报错,不用这个传参,打包部署没有问题 @yang-xianzhu

不是onUploadProgress这个函数的问题,找不到之前做的那个项目的commit的

xhyooo commented 3 months ago

感谢你的回复,提供解决思路,我看看怎么定位这个问题。 @yang-xianzhu

yang-xianzhu commented 3 months ago

感谢你的回复,提供解决思路,我看看怎么定位这个问题。 @yang-xianzhu

你把你用的这个component的值发一下我,我看看

xhyooo commented 3 months ago
              <BasicUpload
                :emptyHidePreview="true"
                :maxSize="20"
                :maxNumber="1"
                :api="uploadNewsXlsx"
                class="mr-4"
                :accept="['xlsx']"
                :btnName="t('news.batchUpload')"
                xlsxLink="/resource/file/news_example.xlsx"
              />
xhyooo commented 3 months ago

没有特别的参数,就是传了 onUploadProgress 方法就会报错

yang-xianzhu commented 3 months ago

截图看一下你的uploadNewsXlsx接口

xhyooo commented 3 months ago

image

xhyooo commented 3 months ago

http://localhost:4173/node_modules/.pnpm/axios@1.7.2_debug@4.3.5/node_modules/axios/lib/adapters/xhr.js

image

问题出在这里

yang-xianzhu commented 3 months ago

image 可以试试,我之前遇到过,不是这样解决的,因为后面没有用这个组件了,就不了了之了

xhyooo commented 3 months ago

我也怀疑http对象被更改了,我记得在哪里看到过,用了mock插件,导致一些问题

xhyooo commented 3 months ago

image

我把插件注释掉,可以上传了,就是这个问题导致

yang-xianzhu commented 3 months ago

image

youdianfan commented 3 months ago

最后说一下解决方案,主要还是mock插件导致,上线生产环境,一定要配置相应env文件里面的VITE_USE_MOCK = false,关闭mock插件启用。