gpt4 book ai didi

java - 为什么当我在 Servlet 中调用 getName() 时,我会在 html 中看到文件标记的 name 属性?

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

所以这是在我的 web.xml 中:

<servlet>
<servlet-name>UploadFileServlet</servlet-name>
<servlet-class>com.tugay.julyseventeen.UploadFileServlet</servlet-class>
<multipart-config>
<max-file-size>20000</max-file-size>
<file-size-threshold>20000</file-size-threshold>
</multipart-config>
</servlet>

<servlet-mapping>
<servlet-name>UploadFileServlet</servlet-name>
<url-pattern>/uploadFile</url-pattern>
</servlet-mapping>

我的表格:

<form action="${pageContext.servletContext.contextPath}/uploadFile" method="post"
enctype="multipart/form-data">
<label for="name">Your name here:
<input type="text" name="name" id="name"/>
</label>
<input type="file" name="xxx" id="file"/>
<input type="submit"/>
</form>

在 Servlet 中我有:

public class UploadFileServlet extends HttpServlet {

@Override
protected void doPost(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse)
throws ServletException, IOException {

String name = httpServletRequest.getParameter("name");
Part file = httpServletRequest.getPart("xxx");

InputStream inputStream = file.getInputStream();
int read;
final byte[] bytes = new byte[1024000];

System.out.println(file.getName());

}
}

所以这里 file.getName() 将返回我不喜欢的“xxx”。我想获取正在上传的文件的名称。我该怎么办?

最佳答案

自 Servlet API 3.1 起,Part 接口(interface)提供 getSubmittedFileName()方法可以满足您的需要。

Gets the file name specified by the client

关于java - 为什么当我在 Servlet 中调用 getName() 时,我会在 html 中看到文件标记的 name 属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24813346/

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