gpt4 book ai didi

java - 如何在java中上传带有附加信息的文件

转载 作者:太空宇宙 更新时间:2023-11-04 07:53:13 25 4
gpt4 key购买 nike

我正在使用 apache commons-fileupload 上传文件。但是,我无法传递有关附件的更多信息。例如,用户希望在上传特定文件时添加附件信息。所以我将评论连同附件一起发送。但是使用commons-fileupload,我只能获取附件,但无法获取评论。下面的代码是表格

<form action"taskcontroller" method="post"  enctype="multipart/form-data">
<label for="filename_1">File: </label>
<input id="filename_1" type="file" name="filename_1" size="50"/><br/>
comments:<input type='text' name='comments' />
<input type="submit" value="upload" name="command" />
</form>

下面的代码是处理请求的,

boolean isMultipart = ServletFileUpload.isMultipartContent(request);  
if (isMultipart) {
FileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
List<FileItem> items = upload.parseRequest(request);
Iterator iterator = items.iterator();
while (iterator.hasNext()) {
FileItem item = (FileItem) iterator.next();

if (!item.isFormField()) { //ignore the form element
String fileName = item.getName();
// TODO filesize int is it ok?
int size = (int) item.getSize();
String root = "";//Set the root
File path = new File(root + "/uploads");
if (!path.exists()) {
boolean status = path.mkdirs();
}

item.write(uploadedFile); //write file to disk
}
}
}

但是我无法获取评论信息...

最佳答案

从字段 isFormField() 检查并检索字段 getFieldName()getString() 的详细信息

boolean isMultipart = ServletFileUpload.isMultipartContent(request);  
if (isMultipart) {
FileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
List<FileItem> items = upload.parseRequest(request);
Iterator iterator = items.iterator();
while (iterator.hasNext()) {
FileItem item = (FileItem) iterator.next();
String name;
String comment;

//Check for Form Field i.e. Comment field

if (item.isFormField()) {
name= item.getFieldName(); //Comment Field Name
comment = item.getString(); // Comment
}

//Check for attachment field

if (!item.isFormField()) { //ignore the form element
String fileName = item.getName();
// TODO filesize int is it ok?
int size = (int) item.getSize();
String root = "";//Set the root
File path = new File(root + "/uploads");
if (!path.exists()) {
boolean status = path.mkdirs();
}

item.write(uploadedFile); //write file to disk
}
}
}

关于java - 如何在java中上传带有附加信息的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14052158/

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