如何判断javax.servlet.http.Part是文件上传
时间: 2023-12-19 14:06:37 浏览: 157
要判断javax.servlet.http.Part是否为文件上传,可以通过获取Part的Content-Disposition头部字段来判断。如果Content-Disposition中包含了filename属性,则可以判断为文件上传。示例代码如下:
```java
Part part; // 获取到的Part对象
String contentDisposition = part.getHeader("Content-Disposition");
if (contentDisposition != null && contentDisposition.contains("filename")) {
// 文件上传
} else {
// 非文件上传
}
```
相关问题
如何解析javax.servlet.http.Part中的文件名
要解析javax.servlet.http.Part中的文件名,可以从Content-Disposition头部字段中获取filename属性的值。示例代码如下:
```java
Part part; // 获取到的Part对象
String contentDisposition = part.getHeader("Content-Disposition");
if (contentDisposition != null && contentDisposition.contains("filename")) {
// 解析文件名
String[] parts = contentDisposition.split(";");
for (String partStr : parts) {
if (partStr.trim().startsWith("filename")) {
String fileName = partStr.substring(partStr.indexOf('=') + 1).trim().replace("\"", "");
// 使用解析得到的文件名进行后续操作
break;
}
}
} else {
// 非文件上传
}
```
上述代码中,我们先判断Content-Disposition头部字段中是否包含filename属性,如果包含则解析出文件名,去掉其中的引号后使用该文件名进行后续操作。
javaEE6依赖包import javax.servlet.http.Part;中有哪些方法
在 `javax.servlet.http.Part` 接口中,常用的方法有:
1. `String getName()`:获取上传文件的名称。
2. `String getContentType()`:获取上传文件的类型。
3. `long getSize()`:获取上传文件的大小(字节数)。
4. `InputStream getInputStream()`:获取上传文件的输入流。
5. `void write(String fileName)`:将上传文件保存到指定的文件路径中。
6. `String getHeader(String name)`:获取指定名称的请求头信息。
7. `Collection<String> getHeaders(String name)`:获取指定名称的请求头信息集合。
8. `Collection<String> getHeaderNames()`:获取所有请求头信息名称的集合。
注意:以上方法并不是 `Part` 接口中的全部方法,还有其他一些方法,但是这些方法是使用频率最高的。
阅读全文