使用jQuery Ajax上传文件时,"没有发现多部分边界"异常

 琳尐琳安_641 发布于 2023-02-10 11:00

这是我的jQuery代码段

$("#uploadForm").submit(function (e) {
    $.ajax({
        url: 'uploadExcel',
        data: $('#uploadForm').serialize(),
        cache: false,
        contentType: 'multipart/form-data',
        processData: false,
        type: 'POST',
        success: function (data) {
            alert(data);
        }
    });

上传文件时,我收到以下错误

org.apache.commons.fileupload.FileUploadException: the request was rejected because no multipart boundary was found
    at org.apache.commons.fileupload.FileUploadBase$FileItemIteratorImpl.(FileUploadBase.java:931)
    at org.apache.commons.fileupload.FileUploadBase.getItemIterator(FileUploadBase.java:331)
    at org.apache.commons.fileupload.FileUploadBase.parseRequest(FileUploadBase.java:349)
    at org.apache.commons.fileupload.servlet.ServletFileUpload.parseRequest(ServletFileUpload.java:126)
    at com.obs.controller.ExcelUploadController.doPost(ExcelUploadController.java:36)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:722)

是什么原因 ?怎么克服?

1 个回答
  • XMLHttpRequest不支持文件上传的原因,请参阅此问题:jQuery Ajax文件上传.您在服务器端收到错误,因为您告诉服务器期望多部分上载,但由于没有与其一起发送有效负载(=数据),因此会引发错误.

    你需要FormDataXMLHttpRequest2(请注意:只有IE10及以上的所有其他浏览器已经支持了.见我可以使用吗?对于详细的支持信息).

    它似乎FormData可以在旧版浏览器中模拟,但我没有亲自尝试过.

    使用XMLHttpRequest 2FormData,您的代码将如下工作:

    $("#uploadForm").submit(function (e) {
        e.preventDefault();
        $.ajax({
            url: 'upload.ajax.php',
            data: new FormData($(this)[0]),
            cache: false,
            contentType: false,
            processData: false,
            type: 'POST',
            success: function (data) {
               console.log(data);
            }
        }); 
    });
    

    2023-02-10 11:02 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有