Javascript 通过AJAX发送文件;Request.FILES是否为空?

Javascript 通过AJAX发送文件;Request.FILES是否为空?,javascript,python,html,django,ajax,Javascript,Python,Html,Django,Ajax,我创建了一个函数,允许我上传一个文件,通过AJAX将其解析为Python函数,然后Python函数处理该文件。我可以只上传一个图像文件,也可以上传一个zip文件或docx文件等 HTML: 当我在本地服务器上尝试时,代码可以工作,但在将其部署到在线服务器后,我在theReqFile=request.FILES.getlist('theUpload')[0]处得到列表索引超出范围的错误,响应为服务器500 具体来说,当我尝试在本地runserver中上载图像文件和zip文件时,成功了。 在联机服务

我创建了一个函数,允许我上传一个文件,通过AJAX将其解析为Python函数,然后Python函数处理该文件。我可以只上传一个图像文件,也可以上传一个zip文件或docx文件等

HTML:

当我在本地服务器上尝试时,代码可以工作,但在将其部署到在线服务器后,我在
theReqFile=request.FILES.getlist('theUpload')[0]处得到
列表索引超出范围的错误,响应为服务器500

具体来说,当我尝试在本地runserver中上载图像文件和zip文件时,成功了。 在联机服务器上,上载图像文件成功。当我试图上传一个zip文件时,错误就出现了

有什么建议吗?我对此有点困惑

<input type="file" onchange="ProcessData(this)" id='theUpload' name='theUpload' accept="image/*,application/vnd.ms-excel, application/pdf,application/vnd.ms-word.document.macroEnabled.12,application/vnd.ms-word.template.macroEnabled.12,application/zip " style="display:none;" />
function ProcessData(thisData){
    thisCurrentAttachment = thisData;
    var formData = new FormData();
    var filesizeLimit = 2097152; //2MB * 1024 * 1024

    /*
     * Check if there is a file selected
     */
    if (thisData.files.length==0) {
        document.getElementsByName("theUpload")[1].value = "";
        return
    }

    underLimit=(thisData.files[0].size<=2097152);
    formData.append('theUpload', thisData.files[0], "Test");

    if (underLimit) {
        $.ajax({
            url: "{% url 'userProcessData' %}",
            type: "post",
            async: true, 
            data: formData,
            contentType: false,             
            processData: false, 
   (....)
def UserProcessData(request):
    theReqFile = request.FILES.getlist('theUpload')[0]
    (...)
    obj={"status": 0, "message": _("Success")}

    return JsonResponse(obj)