使用ajax上传文件并在Java Servlet服务器端进行处理

萨多夫斯基

在过去的几天里,我一直在解决这个问题,并且没有其他帖子对您有所帮助。我正在尝试在看起来像这样的HTML表单上上传文件(它包含其他字段):

       <input type =“ text” id =“ prenom” name =“ fname”占位符=“ Prenom”> <br> <br> 
       <input type =“ text” id =“ nom” name =“ fname”占位符=“ Nom “> <br> <br> 
       <input type =” email“ id =” mail“ name =” fname“ placeholder =” Adresse mail“> <br> <br> 
       <input type =” file“ id =” file“ name =“ file” /> 
   </ form> 
   <br> <button id =“ bouton-inscription”> s'inscrire </ button>''`

然后通过FormData将其上传到使用Ajax:

    var formData = new FormData(); 
    formData.append('file', $('#file')[0].files[0]);

    $.ajax({
        url: './upload',
        cache: false,
        processData: false,
        contentType: false,
        method: 'POST',
        data: formData,
        dataType: 'json'
           })

然后,在服务器端,我想使用httpServlet检索文件并保存它,我使用的是我从Oracle文档“适应”的代码:

@WebServlet(name = "FileUploadServlet", urlPatterns = {"/upload"})
@MultipartConfig
public class FileUploadServlet extends HttpServlet {
    
    protected void processRequest(HttpServletRequest request,HttpServletResponse response)
        throws ServletException, IOException {
        
    response.setContentType("text/html;charset=UTF-8");

    // Create path components to save the file
    final String path = "C:\\Users\\me\\Desktop";
    final Part filePart = request.getPart("file");
    final String fileName = "myFile";

    OutputStream out = null;
    InputStream filecontent = null;
    final PrintWriter writer = response.getWriter();

    try {
        out = new FileOutputStream(new File(path + File.separator
                + fileName));
        filecontent = filePart.getInputStream();

        int read = 0;
        final byte[] bytes = new byte[1024];

        while ((read = filecontent.read(bytes)) != -1) {
            out.write(bytes, 0, read);
        }
        writer.println("New file " + fileName + " created at " + path);
    } catch (FileNotFoundException fne) {
        writer.println("You either did not specify a file to upload or are "
                + "trying to upload a file to a protected or nonexistent "
                + "location.");
        writer.println("<br/> ERROR: " + fne.getMessage());
    } finally {
        if (out != null) {
            out.close();
        }
        if (filecontent != null) {
            filecontent.close();
        }
        if (writer != null) {
            writer.close();
        }
    }
}

但是我在Ajax调用中遇到了一个错误(我正在通过对另一个servlet的另一个ajax调用来处理其他字段,由于它们是文本字段,因此可以正常工作)。

我觉得问题一定是在服务器端,因为我在客户端使用的代码无处不在。

任何提示将不胜感激!

谢谢!

编辑:实际与此代码文件已正确保存,但仍然存在Ajax错误

萨多夫斯基

问题是每个都带有.done的双重ajax调用,通过不希望从文件上载ajax调用中得到答案,并期望其余提交的信息中有一个(将用户重定向到另一个页面)来解决此问题。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用Java进行数据表服务器端处理

来自分类Dev

通过处理或等待方式与Ajax提交表单,并从服务器端进行验证

来自分类Dev

使用Datatables v1.10.0进行服务器端处理

来自分类Dev

“服务器端扇出”是否可以使用 Cloud Functions for Firebase 进行处理?

来自分类Dev

Java的jQuery DataTables服务器端处理

来自分类Dev

使用Angular Material处理服务器端错误

来自分类Dev

在将文件传递给服务器端之前,先在客户端进行文件大小处理

来自分类Dev

使用Firebase进行服务器端计算

来自分类Dev

使用DataTables进行服务器端分页

来自分类Dev

使用Hapi进行服务器端响应缓存

来自分类Dev

将Web Audio API流发送到服务器端Java进行处理的最佳方法

来自分类Dev

NodeJS-服务器端文件上传处理程序

来自分类Dev

使用Ajax上传文件-服务器端未收到任何内容

来自分类Dev

如何使用ASP.NET发送FormData并在服务器端处理它

来自分类Dev

使用Java SIP Servlet开发SIP / VOIP服务器端应用程序的方式

来自分类Dev

使用Java SIP Servlet开发SIP / VOIP服务器端应用程序的方式

来自分类Dev

Ajax在服务器端的对应

来自分类Dev

服务器端文件验证

来自分类Dev

使用Play Framework进行客户端/服务器端验证

来自分类Dev

访问服务器端javascript变量以使用客户端javascript进行操作

来自分类Dev

使用Ajax和无限滚动进行服务器端(PHP)过滤和排序

来自分类Dev

PHP/JQuery/AJAX 表单 - 仅使用内联错误样式进行服务器端验证

来自分类Dev

使用java.util.logging在Eclipse服务器端日志中进行GWT开发

来自分类Dev

AJAX调用未传递用于服务器端处理的最新值

来自分类Dev

Datatable jQuery + Ajax + PHP无法获取表中的数据(服务器端处理)

来自分类Dev

如何使用Nest js作为服务器端并在客户端进行React从puppeteer下载pdf?

来自分类Dev

如何在Ajax调用上对服务器发送的值进行服务器端验证

来自分类Dev

在Java中处理多个TCP连接(服务器端)

来自分类Dev

使用单个服务器端变量处理多个复选框

Related 相关文章

  1. 1

    使用Java进行数据表服务器端处理

  2. 2

    通过处理或等待方式与Ajax提交表单,并从服务器端进行验证

  3. 3

    使用Datatables v1.10.0进行服务器端处理

  4. 4

    “服务器端扇出”是否可以使用 Cloud Functions for Firebase 进行处理?

  5. 5

    Java的jQuery DataTables服务器端处理

  6. 6

    使用Angular Material处理服务器端错误

  7. 7

    在将文件传递给服务器端之前,先在客户端进行文件大小处理

  8. 8

    使用Firebase进行服务器端计算

  9. 9

    使用DataTables进行服务器端分页

  10. 10

    使用Hapi进行服务器端响应缓存

  11. 11

    将Web Audio API流发送到服务器端Java进行处理的最佳方法

  12. 12

    NodeJS-服务器端文件上传处理程序

  13. 13

    使用Ajax上传文件-服务器端未收到任何内容

  14. 14

    如何使用ASP.NET发送FormData并在服务器端处理它

  15. 15

    使用Java SIP Servlet开发SIP / VOIP服务器端应用程序的方式

  16. 16

    使用Java SIP Servlet开发SIP / VOIP服务器端应用程序的方式

  17. 17

    Ajax在服务器端的对应

  18. 18

    服务器端文件验证

  19. 19

    使用Play Framework进行客户端/服务器端验证

  20. 20

    访问服务器端javascript变量以使用客户端javascript进行操作

  21. 21

    使用Ajax和无限滚动进行服务器端(PHP)过滤和排序

  22. 22

    PHP/JQuery/AJAX 表单 - 仅使用内联错误样式进行服务器端验证

  23. 23

    使用java.util.logging在Eclipse服务器端日志中进行GWT开发

  24. 24

    AJAX调用未传递用于服务器端处理的最新值

  25. 25

    Datatable jQuery + Ajax + PHP无法获取表中的数据(服务器端处理)

  26. 26

    如何使用Nest js作为服务器端并在客户端进行React从puppeteer下载pdf?

  27. 27

    如何在Ajax调用上对服务器发送的值进行服务器端验证

  28. 28

    在Java中处理多个TCP连接(服务器端)

  29. 29

    使用单个服务器端变量处理多个复选框

热门标签

归档