java web项目java后台获取前台js上传文件的路径

java web项目java后台获取前台js上传文件的路径,第1张

如果通过servelet来读取上传文件路径,则代码如下,我已经在项目中用过了:

DiskFileItemFactory difif = new DiskFileItemFactory();

dififsetSizeThreshold(321024);dififsetRepository(new File(tmpDir));        //

用以上工厂实例化上传组件ServletFileUpload sfu = new ServletFileUpload(difif);

sfusetSizeMax(MAX_SIZE);

List fileList = sfuparseRequest(request);

if ( fileList == null || fileListsize() == 0) {                throw new Exception("

导入文件不存在,请检

查");} else {                File upLoadFile = null;                Iterator fileIterator = fileListiterator();

//得到所有上传的文

件                while (fileIteratorhasNext()) {                    FileItem fileItem = (FileItem)fileIteratornext();                    //

取得上传文件

名                    if (fileItemgetContentType() == null) {                    } else {

                        //

此为路

径                        String path = fileItemgetName();                        String t_ext = pathsubstring(pathlastIndexOf("") + 1);                                                //

根据系统时间生成上传后保存的文件

名                        String prefix = StringvalueOf(SystemcurrentTimeMillis());                        //

保存最终的文件完整路径,保存在工程根目录下的Upload目录

下                        String u_name = tmpDir + Fileseparator + prefix + "" + t_ext;                                                //

开始保存文

件                        upLoadFile = new File(u_name);                        fileItemwrite(upLoadFile);                    }                }            }

1、问题

npm run dev启动react项目时出现以下错误:

These dependencies were not found:

@babel/runtime/core-js/promise in /~/_dva@241@dva/lib/dynamicjs, /~/_dva-core@140@dva-core/lib/createPromiseMiddlewarejs

@babel/runtime/core-js/get-iterator in /~/_dva-core@140@dva-core/lib/indexjs, /~/_dva-core@140@dva-core/lib/Pluginjs and 2 others

@babel/runtime/core-js/object/keys in /~/_dva-core@140@dva-core/lib/indexjs, /~/_dva-core@140@dva-core/lib/checkModeljs and 3 others

打开项目根目录\node_modules\@babel\runtime,发现runtime文件夹下没有core-js文件夹。安装了babel-runtime,但是@babel\runtime下没有该文件夹,说明runtime包有问题,缺少依赖。

这个错误的原因是因为不同插件的二次依赖引入了不同版本的 @babel/runtime。高版本的 715 下是没有 @babel/runtime/core-js 这个文件夹的,我们 dev 环境编译时resolve的目录是高版本的,在项目目录的 packagejson 里 指定个有该文件的版本就好了

2、解决方法

(1)直接命令窗口执行以下命令安装依赖即可:

npm install @babel/runtime@700-beta46 --save-dev

注:安装指定版本的依赖到开发/生产环境的方式如下(如果安装了淘宝镜像,用cnpm代替npm安装更快):

npm install xxx --save

npm install xxx --save-dev

(2)在项目根目录的 packagejson文件中的"devDependencies"下加上"@babel/runtime": "700-beta46",保存后打开命令行运行 npm i,

即安装指定版本700-beta46的依赖,如下图:

安装完以后,重新start发现报错没有了,此时查看\node_modules\@babel\runtime,发现多了core-js文件夹,这就是先前所缺少的依赖包,安装了@babel/runtime后解决了依赖包缺失问题。

解决方法来自 >

/ 表示上级目录。

这是相对路径,做网页里面引用、js、媒体文件、css等都经常用到。

indexjsp 引用 jquery-143js 那么:jquery-143js 文件相对 indexjsp 的位置就是在 indexjsp 的上级目录中的 js 文件夹内。

哎,说得有点绕口,你这样理解:

你在你电脑上建立一个 文件夹C,进 C 里面再新建一个 文件夹D。你再进 D 里面去,然后在 D 里面你把 / 这个东西直接看作文件夹内的 向上按钮 ,写一个 / 等于你按下了一次向上。

indexjps 和 js 目录是同级的,indexjsp 引用 js 里面的 jqjs 路径是: js/jqjs

listaccountjsp 和 js 目录不同级,它引用 jqjs 就要 向上 两次,第一次向上是到 account 目录,然后 再向上一次,到 WEB-INF 目录, WEB-INF 目录和 js 目录同级了,接着就可以去 js 目录里面找到 jqjs 了,引用路径是://js/jquery-143js

以上就是关于java web项目java后台获取前台js上传文件的路径全部的内容,包括:java web项目java后台获取前台js上传文件的路径、Error: Cannot find module '@babel/runtime/core-js/object/keys'(npm start报错)、JavaScript中的路径“../”表示什么概念,不同层次的文件访问同一个JS文件,引用路径为什么都是一样的等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9722769.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-01
下一篇2023-05-01

发表评论

登录后才能评论

评论列表(0条)

    保存