gpt4 book ai didi

java - 上传时重命名文件名,JSP

转载 作者:行者123 更新时间:2023-12-01 13:22:24 25 4
gpt4 key购买 nike

我有 4 个输入标签来上传 4 个不同的文件,

<form method="post" name="myform" action="upload" target="_blank" enctype="multipart/form-data" style="position: absolute; right: -5%; top: 2%;">
Left File : <input type="file" name="dataFile1" id="fileChooser1" /><br><br>
Right File : <input type="file" name="dataFile2" id="fileChooser2" /><br><br>
Config File :<input type="file" name="dataFile3" id="fileChooser3" /><br><br>
Geco File : <input type="file" name="dataFile4" id="fileChooser4" /><br><br><br>
<button type="button" onclick="ValidateFile()">Click to Upload</button>
</form>

现在,在我的 Servlet.java 端,我想重命名正在上传的文件。

我该怎么做?使用commons uploader 。

PS:我尝试获取输入标记的 id 名称,以便我可以创建 if 循环并根据需要分配 fileName 名称,

String my = request.getParameter("dataFile1");
System.out.println(my);

此打印为空。

最佳答案

要确定哪个文件是哪个文件,请使用 FileItem您从ServletFileUpload#parseRequest获得,您可以调用getFieldName方法从上面的 JSP 代码段获取 name 属性的值。

要使用特定名称保存文件,请创建 File具有正确名称的对象并调用 FileItem#write与该对象。

此代码未经测试,但应该为您提供一个起点。

List items = upload.parseRequest(httpRequest);
Iterator iter = items.iterator();
File outputDir = getOutputDir();
while (iter.hasNext()) {
FileItem item = (FileItem) iter.next();
String origName = item.getFieldName();
if ("dataFile1".equals(origName) {
File outputFile = new File(outputDir, "firstFile.txt"); // This bit is doing the renaming
item.write(outputFile);
} // ... else all the other inputs get handled ...
}

关于java - 上传时重命名文件名,JSP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21951094/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com