获取错误“无法读取null的属性拆分”

时间:2017-12-08 05:56:12

标签: javascript jquery

我已经编写了一个关于图像上传更改事件的脚本并获取它的值,然后通过点击按钮将其传递给json格式的ajax数据类型。 但错误发生在以下行

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

错误消息“无法读取null的属性拆分”。究竟是什么问题正在发生

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>

1 个答案:

答案 0 :(得分:0)

尝试检查你的值&#34; null&#34;和&#34; undefined&#34;首先,在使用之前:

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