2016-08-20 1 views
0

Я пытаюсь загрузить данные на сервер, а данные находятся в блобе, и проблема в том, что файл пуст, он загружается, но он не будет, если файл содержит какие-либо данные в нем Ниже мой кодЯ пытаюсь загрузить данные на сервер, и данные находятся в 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]); 

} 

Handler является .ashx файл, который сохранить данные в SQL server.I не знаю, что мне не хватает.

+0

Где 'uploadData' называется? В вопросе не появляется 'Blob', кроме' input.files [0] ', который является объектом' File', который наследуется от 'Blob'. Вы пытаетесь загрузить 'dataURL' в' Handler («Json», param, «UploadData») 'внутри' uploadData() 'call? – guest271314

+0

uploadData - это функция onclick, когда я нажимаю на эту кнопку, она извлекает данные из веб-формы. Моя веб-форма имеет одно поле ввода с типом = «файл», и я хочу, когда я нажимаю на эту функцию uploadData кнопки, которая вызывается и чем она должен взять все необходимые данные.blob является одним из них. –

+0

Я хочу, чтобы dataData() вызывал blob-данные, которые передаются не dataURL. –

ответ

0

FileReader().readAsDataURL() метод возвращает результаты асинхронно. Вы можете пройти dataURL до uploadData() позвонить по телефону load событие FileReader. Следует также отметить, что reader.result: dataURL является data URI вернулся из .readAsDataURL(), не Blob

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]); 

} 
Смежные вопросы