2017-08-30 6 views
-1

私はcroppie.jsを使ってイメージをトリミングし、それをサーバーに送信しています。しかし、時には大きな画像に対して413エラーが表示されることがあります。 64基本文字列を使用してイメージをイメージとして送信する他の方法はありませんか? croppie.jsからの応答は64の基本文字列として来ているためです。イメージアップロードコードイグナイタ

これはjQueryのコードスニペットです。

$('.upload-result').on('click', function (ev) { 
      var file = $('input[name=userfile]').val(); 
      var uploadErrors = []; 

      if (file === "") { 
       $('.errorImgUpload').html('You did not select a file to upload').fadeIn(); 
       uploadErrors.push("no file"); 
      } else{ 
       $('.errorImgUpload').fadeOut(); 
      } 

      if (uploadErrors.length === 0) { 

       $('#doUpload span').html("Uploading..."); 

       $uploadCrop.croppie('result', { 
        type: 'canvas', 
        size: { 
         width: 760, 
         height: 860 
        } 
       }).then(function (resp) { 

        var formData = new FormData($('#product_detail_images_form')[0]); 

        $.ajax({ 
         url: "<?= base_url("admin_jsessID/upload_tmp/".$id); ?>", 
         type: "POST", 
         data:formData, 
         mimeType: "multipart/form-data", 
         contentType: false, 
         cache: false, 
         processData: false, 
         success: function (data) { 

          data=data.trim(); 
          if (data === "1") { 
           $('input[name=userfile]').val(""); 

           $uploadCrop.croppie('bind', { 

            url: "" 

           }); 

           load_uploaded_images(); 

           $('.doneImgUpload').html('Image Successfully Uploaded.').fadeIn(); 
           $('html, body').animate({ 
            scrollTop: $(".doneImgUpload").height()-20 
           }, 200); 
           setTimeout(function() { 
            $('.doneImgUpload').fadeOut(); 
           }, 5000); 
          }else if (data === "2"){ 
           $('.errorImgUpload').html('Image Upload Failed.').fadeIn(); 
           $('input[name=userfile]').val(""); 
           $('html, body').animate({ 
            scrollTop: $(".errorImgUpload").height()-20 
           }, 200); 
           setTimeout(function() { 
            $('.errorImgUpload').fadeOut(); 
           }, 5000); 
          }else if (data === "3"){ 
           $('.errorImgUpload').html('Image Upload Failed.').fadeIn(); 
           $('input[name=userfile]').val(""); 
           $('html, body').animate({ 
            scrollTop: $(".errorImgUpload").height()-20 
           }, 200); 
           setTimeout(function() { 
            $('.errorImgUpload').fadeOut(); 
           }, 5000); 
          } 
          else if (data === "0"){ 
           $('.errorImgUpload').html('Upload Image Limit Exceeded.').fadeIn(); 
           $('input[name=userfile]').val(""); 
           $('html, body').animate({ 
            scrollTop: $(".errorImgUpload").height()-20 
           }, 200); 
           setTimeout(function() { 
            $('.errorImgUpload').fadeOut(); 
           }, 5000); 
          } 

          $('#doUpload span').html("Upload Image"); 

         } 
        }); 
       }); 
      } 

     }); 
+0

他の人が指摘できるように、コードの一部を入力してください。問題を解決するために何ができるかを指摘してください。 –

答えて

0

サイズを縮小するために圧縮方法を使用してください。 lzma-jsライブラリをチェックすると、元のbase64イメージ文字列より70%少なくなります。