2016-08-20 2 views
0

서버에 데이터를 업로드하려고하는데 데이터가 blob에 있고 문제는 파일이 비어있을 때 업로드되지만 파일에 포함되어 있으면 문제가되지 않습니다. 다음이 데이터 내 코드서버에 데이터를 업로드하려고하는데 데이터가 blob에 있습니다.

function uploadData() 
{ 
    var param = { 
     subjectName: $("#ipName").val(), 
     subjectID: $("#DocSubject").val(), 
     typeID: $("#DocType").val(), 
     year: $("#ipDate").val(), 
     data: dataURL.substr(dataURL.indexOf(',') + 1, dataURL.length), 
}; 
    Handler("Json", param, "UploadData"); 
} 
var dataURL; 
var handleFiles = function (event) { 

    var input = event.target; 

    var reader=new FileReader(); 
    reader.onload=function(){ 
     dataURL=reader.result; 
     var output=document.getElementById('ipSelect'); 
     output.src=dataURL; 
    }; 
    reader.readAsDataURL(input.files[0]); 

} 

처리기입니다 내가 놓친 거지 모르는 server.I를 SQL 내 데이터를 저장 .ASHX 파일입니다.

+0

경우'uploadData'이라고하지, .readAsDataURL()에서 반환입니까? 'Blob'을 상속받은'File' 객체 인'input.files [0]'을 제외하고는 Question에 Blob이 나타나지 않습니다. 'uploadData()'호출에서'Handler ("Json", param, "UploadData")'에'dataURL'을 업로드하려고합니까? – guest271314

+0

uploadData는 onclick 함수입니다.이 버튼을 클릭하면 웹 양식에서 데이터가 검색됩니다. 내 웹 양식에는 type = "file"인 입력 필드가 하나 있는데,이 버튼을 클릭하면 uploadData 함수가 호출됩니다. 필요한 모든 데이터를 가져와야합니다 .blob은 그 중 하나입니다. –

+0

uploadData()에서 dataURL이 아닌 blob 데이터를 전달하려고합니다. –

답변

0

FileReader().readAsDataURL() 메서드는 결과를 비동기 적으로 반환합니다. 너 load 이벤트 FileReader에서 dataURLuploadData() 전화로 전달할 수 있습니다. 참고 또한, reader.result 것을 : dataURLdata URIBlob

function uploadData(dataURL) 
{ 
    var param = { 
     subjectName: $("#ipName").val(), 
     subjectID: $("#DocSubject").val(), 
     typeID: $("#DocType").val(), 
     year: $("#ipDate").val(), 
     data: dataURL.substr(dataURL.indexOf(',') + 1, dataURL.length) 
}; 
    Handler("Json", param, "UploadData"); 
} 
var dataURL; 
var handleFiles = function (event) { 

    var input = event.target; 

    var reader=new FileReader(); 
    reader.onload=function(){ 
     dataURL=reader.result; 
     var output=document.getElementById('ipSelect'); 
     output.src=dataURL; 
     uploadData(dataURL); // call `uploadData()` with `dataURL` as parameter 
    }; 
    reader.readAsDataURL(input.files[0]); 

} 
관련 문제