代码之家  ›  专栏  ›  技术社区  ›  ermalsh

使用dropzone。js使用ASP点击上传文件。网络服务

  •  0
  • ermalsh  · 技术社区  · 7 年前

    大家好,提前谢谢大家。

    基本上,我想添加一个Dropzone。页面上的js上传框,允许我将文件拖放到dropzone中,然后单击按钮使用后端API将其上传到文件夹。错误是JS的客户端,我只是想寻求帮助,了解如何更好地/有效地解决这个问题。

    我的html:

    <form action="#" class="dropzone">
      <div class="fallback">
         <input id="fileUpload" type="file" name="file" multiple onchange="setFileInfo(this.files)" />
      </div>
    </form>
    <button id="btnUploadFile" type="button"></button>
    

    我的JS:

    $('#btnUploadFile').on('click', function () {
    
    var data = new FormData($('form')[0]);
    var files = $("#fileUpload").get(0).files;
    
    // Add the uploaded image content to the form data collection
    if (files.length > 0) {
        for (i = 0; i < files.length; i++) {
            data.append("UploadedImage" + i, files[i]);
        }
    }
    
    console.log(data)
    
    // Make Ajax request with the contentType = false, and procesDate = false
    var ajaxRequest = $.ajax({
        type: "POST",
        url: "api/fileupload/uploadfile",
        enctype: 'multipart/form-data',
        contentType: false,
        processData: false,
        data: data
    });
    
    ajaxRequest.done(function (xhr, textStatus) {
        // Do other operation
        console.log(textStatus)
        console.log(xhr)
    });
    
    Dropzone.autoDiscover = false;
    
    var myDropzone = new Dropzone(element, {
        url: "#",
        autoProcessQueue: false
    });
    

    我的错误:

    Uncaught TypeError: Cannot read property 'files' of undefined
    at HTMLButtonElement.<anonymous> (core.js:1064)
    at HTMLButtonElement.dispatch (jquery.js:5206)
    at HTMLButtonElement.elemData.handle (jquery.js:5014)
    

    我希望这足够详细。非常感谢你。

    1 回复  |  直到 7 年前
        1
  •  1
  •   K. Tippenhauer    7 年前

    看看这里 DropZone Doc, Usage without JS . dropzone将删除fallback div中的内容。js可用时使用js。这意味着,在dropzone的JS之后,没有可用的fileUpload输入。js在pageload上执行。dropzone将创建自己的。当您在浏览器中查看HTML时,您可以看到它。

    由于回退仅在没有javascript时可用,因此也无法使用JS发送表单内容。您能解释一下为什么不使用表单操作上载数据吗?也许我可以帮你多一点如何解决这个问题。