我有一个 jsp 代码来从 multipart/form-data 上传文件..
上传.jsp
<%@ page import="java.io.*"%>
<%@page import="com.oreilly.servlet.MultipartRequest" %>
<%@ page import="java.util.*" %>
<%
try
{
MultipartRequest mrequest = new MultipartRequest(request, "C:/uploads");
String file_name=mrequest.getParameter("fname");//recieve fname
Enumeration files = mrequest.getFileNames();
while(files.hasMoreElements() )
{
String upload = (String)files.nextElement();
String filename = mrequest.getFilesystemName(upload);
System.out.println(filename);
}
}
catch(Exception ex)
{
System.out.println("Error creating file: " + ex );
}%>
测试.html
<HTML>
<BODY>
<FORM ENCTYPE="multipart/form-data" ACTION="upload.jsp" METHOD="POST">
choose file <input type="file" name="file">
name for file <input type="text" name="fname">
<input type="submit" value="submit">
</FORM>
</BODY>
此代码有效并将文件上传到c:/upload
目录。但是,如果我们想在上传时更改文件名而不是从表单接收的原始名称,该怎么办。怎么做,因为它接收原始文件名作为枚举?