2017-12-08 8 views
0

イメージアップロードの変更イベントでスクリプトを作成し、値を取得した後、ボタンをクリックしてjson形式のajaxデータ型を渡します。 しかし、エラーがエラーを取得する "nullのプロパティ分割を読み取ることができません"

byteData = byteData.split(';')[1].replace("base64,", ""); 

エラーメッセージは「ヌルの財産分割を読み取ることができません」この下の行で発生しています。だから、正確に何の問題が

HTMLコード

<input type='file' id='flImage' name='flImage' /> 

を発生されるスクリプト

<script type="text/javascript" src="http://cdn.jsdelivr.net/json2/0.1/json2.js"></script> 
    <script type="text/javascript">  
      $(function() { 
       var reader = new FileReader(); 
       var fileName; 
       var contentType; 
       $("#flImage").change(function() { 
        if (typeof (FileReader) != "undefined") { 
         var regex = /^([a-zA-Z0-9\s_\\.\-:])+(.jpg|.jpeg|.gif|.png|.bmp)$/; 
         $($(this)[0].files).each(function() { 
          var file = $(this); 
          if (regex.test(file[0].name.toLowerCase())) { 
           fileName = file[0].name; 
           contentType = file[0].type; 
           reader.readAsDataURL(file[0]); 
          } else { 
           alert(file[0].name + " is not a valid image file."); 
           return false; 
          } 
         }); 
        } else { 
         alert("This browser does not support HTML5 FileReader."); 
        } 
       });    
$(document).on("click", "[id*=btnFrmSubmit]", function() { 
      alert("hi");   
      var user = {}; 
      user.PRODUCT_ID = 1; 
user.TDC_NO = $("[id*=Tdc_No]").val(); 
user.REVISION = $("#Revision").text(); 
      user.REVISION_DATE = $("[id*=Revision_Date]").text(); 
      user.P_GROUP = $("[id*=P_Group]").val(); 
      user.PROD_DESC = $("[id*=Prod_Desc]").val(); 
      user.N_I_PRD_STD = $("[id*=N_I_Prd_Std]").val(); 
      user.APPLN = $("[id*=Appln]").val(); 
      user.FRM_SUPP = $("[id*=Frm_Supp]").val(); 
      user.CREATED_DATE = $("#Revision_Date").text(); 
      user.CREATED_BY = $("[id*=lblUserName]").text();   
      var byteData = reader.result; 
      byteData = byteData.split(';')[1].replace("base64,", ""); 
$.ajax({ 
       type: "POST", 
       url: "TDC.aspx/SaveFrmDetails", 
data: '{user: "' + JSON.stringify(user) + '",byteData: "' + byteData + '", imageName: "' + fileName + '", contentType: "' + contentType + '" }', 
       contentType: "application/json; charset=utf-8", 
       dataType: "json", 
success: function (response) { 
        alert("User has been added successfully."); 
        window.location.reload(); 
       }     
      }); 
      return false; 
     }); 
    }); 
</script> 
+0

split文を使用して出力を共有する前に 'console.log(byteData)'を実行できますか? – gurvinder372

+0

console.log(byteData); bytedata = null ..私は取得している$( "#flImage")。change(function()私はこの行にデバッガを置く場合でもイベント関数が動作していません – hari

答えて

0

試みる前にそれを使用し、最初の「ヌル」のためのあなたの値をチェックし、「未定義」にする:

if(byteData) 
    byteData = byteData.split(';')[1].replace("base64,", ""); 
関連する問題