2017-11-21 25 views
0

アーカイブを選択すると、dropzoneでZIPアーカイブをアップロードする必要があります。プログレスバーは0から100までですが、要求はサーバー、決まったアクションに到達しません私のフォームでは決して呼び出されません。 これは私のページ上のファイルアップローダーです:Dropzone.jsは.zipファイルをアップロードしません

<form action="URL_ACTION" class="dropzone dropzone-file-area" id="dropzoneZip" method="post" enctype="multipart/form-data"> 
    <div class="fallback"> 
    <input name="file" type="file" /> 
    <input type="submit" value="Upload" name="upload" /> 
    </div> 
</form> 

は、これは私のJSコードです:

Dropzone.options.dropzoneZip = { 
     dictDefaultMessage: "Drag files here o click to upload", 
     maxFiles: 1, 
     acceptedFiles: ".zip", 
     init: function() { 
      this.on("error", function (file, errorMessage) { 
       alert("error : " + errorMessage); 
      }); 
      this.on("addedfile", function (e) { 
       var n = Dropzone.createElement("<a href='javascript:;' class='btn red btn-sm btn-block'>Remove</a>"), 
        t = this; 
       n.addEventListener("click", function (n) { 
        n.preventDefault(), n.stopPropagation(), t.removeFile(e) 
       }), e.previewElement.appendChild(n) 
      }), 
      this.on("complete", function (data) { 
       if (data.xhr.responseText == "success") { 
        swal({ 
         title: 'Success', 
         text: 'File uploaded', 
         type: "success" 
        }).then(
        function() { 
         $(".se-pre-con").fadeIn("slow"); 
         location.reload(); 
        }) 
       } 
      }), 
      this.on('error', function (file, errorMessage) { 
       if (errorMessage != "success") { 
        var errorDisplay = document.querySelectorAll('[data-dz-errormessage]'); 
        errorDisplay[errorDisplay.length - 1].innerHTML = errorMessage; 
       } 
       else if (errorMessage.indexOf('404') !== -1) { 
        var errorDisplay = document.querySelectorAll('[data-dz-errormessage]'); 
        errorDisplay[errorDisplay.length - 1].innerHTML = 'Error 404: The upload page was not found on the server'; 
       } else if (errorMessage.indexOf('500') !== -1) { 
        var errorDisplay = document.querySelectorAll('[data-dz-errormessage]'); 
        errorDisplay[errorDisplay.length - 1].innerHTML = 'Error 500: Internal server error'; 
       } 
      }); 
     } 
    } 

これは私がファイルの種類をチェックし、私の行動のコードです:

if (Request.Files != null && Request.Files.Count > 0) 
    { 
     if (Request["type"]=="zip" && (Request.Files[0].ContentType == "application/x-compressed" || Request.Files[0].ContentType == "application/x-zip-compressed" || Request.Files[0].ContentType == "application/zip" || Request.Files[0].ContentType == "multipart/x-zip")) 
     uploadZip(); 
    } 

しかし、この操作は決して行われません。私は同じ方法で画像をアップロードしようとしましたが、それは正常に動作します。私はあなたがXAMP/uniserverその完全に私がテストしているワーキング上記のコードを持っている場合、私は

<?php 
$ds   = DIRECTORY_SEPARATOR; //1 

$storeFolder = 'uploads'; //2 

if (!empty($_FILES)) { 

    $tempFile = $_FILES['file']['tmp_name'];   //3    

    $targetPath = dirname(__FILE__) . $ds. $storeFolder . $ds; //4 

    $targetFile = $targetPath. $_FILES['file']['name']; //5 

    move_uploaded_file($tempFile,$targetFile); //6 

} 
?>  

update.phpを間違っ

答えて

0

index.htmlを

<html> 

<head> 
<script 
    src="https://code.jquery.com/jquery-3.2.1.js" 
    integrity="sha256-DZAnKJ/6XZ9si04Hgrsxu/8s717jcIzLy3oi35EouyE=" 
    crossorigin="anonymous"></script> 
<!-- 1 --> 
<link href="dropzone.css" type="text/css" rel="stylesheet" /> 

<!-- 2 --> 
<script src="dropzone.min.js"></script> 
<style> 
    .dropzone .dz-preview { 
     display:none; 
    } 

</style> 
</head> 

<body> 


<form action="upload.php" class="dropzone dropzone-file-area" id="dropzoneZip" method="post" enctype="multipart/form-data"> 
    <div class="fallback"> 
    <input name="file" type="file" /> 

    </div> 
</form><input type="submit" value="Upload" name="upload" id="submit-all" /> 

<script> 

Dropzone.options.myDropzone = { 

    // Prevents Dropzone from uploading dropped files immediately 
    autoProcessQueue: false, 

    init: function() { 
    var submitButton = document.querySelector("#submit-all") 
     myDropzone = this; // closure 

    submitButton.addEventListener("click", function() { 
     myDropzone.processQueue(); // Tell Dropzone to process all queued files. 

    }); 

    // You might want to show the submit button only when 
    // files are dropped here: 
    this.on("addedfile", function() { 
     // Show submit button here and/or inform user to click it. 

    }); 

    } 
}; 
</script></body></html> 

をやっているかを把握することはできません サーバー内のファイルをアップロードする場所のアップロードフォルダを作成します。

+0

申し訳ありませんが、私はASP.NETを使用していると指定する必要がありました。あなたがアイデアを持っているなら私はどんな提案にも開いている –

0

[OK]をクリックして、アップロードしようとしたファイルがmaxRequestLengthを超えましたWeb.configファイルのameter。小さいファイルでアップロードが正しく動作する

関連する問題