0

处理多部分文件上传表单。将 Java 与 Servlet 3.0 一起使用。似乎与多部分,提交按钮的值没有传递给服务器?

例如

<form method="POST" enctype="multipart/form-data" action="/servlet">
    <input type="hidden" name="mode"   value="image">
    <input type="hidden" name="id"     value="123"> 
    <input type="file"   name="file" id="file">
    <input type="submit" name="action" value="Upload">
    <input type="submit" name="action" value="Delete">
</form>

在常规帖子中,您只需检查“action”参数的值。您如何以多部分形式访问它?我尝试检查请求中的部件,但它不存在。

例如

Collection<Part> parts = request.getParts();
System.out.println("parts: "+parts.size());
for(Part part : parts){
    System.out.println(part.getName());
}

输出:

parts: 3
mode
id
file

如...

    String mode = request.getParameter("mode"); //reads "image"
    String id   = request.getParameter("id");   //read "123"
    String action = request.getParameter("action"); //reads null

你如何解决这个问题?

4

2 回答 2

2

在提交之前,使用 Javascript 声明一个隐藏字段并根据单击的提交按钮设置其值

<input type="hidden" name="submitType" value=""> 
于 2013-03-18T03:21:35.697 回答
1

首先在您的程序中导入多部分 jar 文件,然后
尝试使用 multipartrequest 类从您的表单中访问多部分数据 -

MultipartRequest mpr=new MultipartRequest(request,"C:");
String ad=mpr.getParameter("made");                    // read "image"
String ad=mpr.getParameter("id");                    // read "123"
String ad=mpr.getParameter("action");    // if u submit from from upload then it read "upload" or submit from delete then it read "delete" String .
于 2013-03-24T17:37:57.197 回答