0

files and other fields data使用 ajax 将两者都发送到 servlet FormData append(),如下所示:

html

<form   id="formId1" >
   <input type="file" name="file" id="fileid">
   <input type="text" name="t1" id="d">
   <input type="submit" id="btn" value="submit">
</form>

阿贾克斯调用:

  $("#btn").click(function(event){ 
                  event.preventDefault(); 
                  var fd = new FormData();
      var other_data = $('form').serializeArray();
                    $.each(other_data,function(key,input){
                        fd.append("t1",$("#d").val());
                      fd.append("file",$('#fileid').prop('files')[0])
                    });
                    $.ajax({
                        url: 'Sample1',
                        data: fd,
                        contentType: false,
                        processData: false,
                        type: 'POST',
                        success: function(data){
                            console.log(data);
                        }
                    });     });

@MultipartConfig以前都读过files and other data

@WebServlet("/Sample1")
@MultipartConfig
public class Sample1 extends HttpServlet {
    private static final long serialVersionUID = 1L;


    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
    { 

        String s=request.getParameter("t1");
        System.out.println(s); 
        Part part=request.getPart("file");
        File path =new File("path")// HOW TO PUT PART INTO THE FOLDER
        }}

现在无法将该部分作为图像存储到文件夹中如何获取folder or imagesPart帮助我。

4

1 回答 1

0

此代码将文件存储到目标文件夹

@WebServlet("/Sample1")
@MultipartConfig
public class Sample1 extends HttpServlet {
    private static final long serialVersionUID = 1L;


    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
    { 

                String jj=request.getParameter("t1");
                System.out.println(jj); 


            //GETTING FILE
                Part filePart = request.getPart("file"); 
            //GETTING FILE NAME
                String fileName = Paths.get(filePart.getSubmittedFileName()).getFileName().toString();  

                InputStream fileContent = filePart.getInputStream();

                    File file1 =new File("D:\\Projects\\i_seva\\WebContent\\"+fileName+"."+"png");
                    BufferedImage imBuff = ImageIO.read(fileContent);

                    ImageIO.write(imBuff, "png", file1); 

                    System.out.println(fileName); 

    }   

}

谢谢朋友们,我在 stack over flow 成员建议的链接和帖子的帮助下做到了

于 2017-10-27T11:15:40.490 回答