作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有 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/
我有以下正则表达式 /[a-zA-Z0-9_-]/ 当字符串只包含从 a 到z 大小写、数字、_ 和 -。 我的代码有什么问题? 能否请您向我提供一个简短的解释和有关如何修复它的代码示例? //var
我是一名优秀的程序员,十分优秀!