我想上传数据到服务器和数据是blob
问题描述:
我想上传数据到服务器和数据是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]);
}
处理程序是ashx的文件,该文件保存我的数据记录到SQL server.I不知道我错过了什么。
答
.readAsDataURL()
方法异步返回结果。您可以通过dataURL
至uploadData()
致电load
事件FileReader
。还要注意,reader.result
:dataURL
是.readAsDataURL()
一个data URI
返回,而不是一个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]);
}
凡被称为'uploadData'?除了'input.files [0]',它是从'Blob'继承的'File'对象之外,没有'Blob'出现在Question上。你是否试图在'uploadData()'调用内的'Handler(“Json”,param,“UploadData”)'上传'dataURL'? – guest271314
uploadData是onclick函数,当我点击该按钮时,它从Web表单中获取数据。我的Web表单有一个type =“file”的输入字段,我希望当我点击那个按钮时可以调用uploadData函数,而不是它应该采取所有必要的数据.blob就是其中之一。 –
我想uploadData()调用blob数据,而不是dataURL。 –