【问题标题】:Renaming received file uploaded from multipart/form-data (request,"c:/")重命名从 multipart/form-data 上传的接收文件 (request,"c:/")
【发布时间】:2013-05-06 12:14:38
【问题描述】:

我有一个 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 );
}%>

test.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 目录。但是,如果我们想在上传时更改文件名而不是从表单接收到的原始名称,该怎么办。 因为它以枚举形式接收原始文件名,如何做到这一点?

【问题讨论】:

标签: java jsp file-upload multipartform-data


【解决方案1】:

像这样更改您的代码。

while(files.hasMoreElements())
{
    String upload=(String)files.nextElement();

    File filename=new File(mrequest.getOriginalFileName(upload));

    filename.renameTo("newName");
}

在 newName 的地方给出你想要的值:)

【讨论】:

    猜你喜欢
    • 2020-05-30
    • 1970-01-01
    • 2015-10-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-30
    • 2016-01-27
    • 2011-02-12
    相关资源
    最近更新 更多