如何复制此代码以上传视频而不是图像宽度Ajax?

时间:2016-04-21 12:53:29

标签: javascript jquery ajax

我一直在尝试复制一个代码,我将上传的图像上传到服务器ASP.NET web api但宽度视频,现在我试图上传从iOS设备录制的.MOV视频,但我不真的知道如何修改我的代码来处理视频。这是有效的代码,可以从设备上传图像。我尝试过使用相同的代码,但我没有从img元素中获取图像,而是从视频元素中获取了视频而没有任何进一步的成功。

function upload(){

var img = document.getElementById("insertedImg");
var dataURL = getBase64Image(img);   
var blob = dataURItoBlob(dataURL);
var data = new FormData();
data.append("canvasImage", blob); 


$.ajax({
 type:'POST',
 url: 'http://testwebsite.net/api/upload',
 data: data,
 processData: false,
 contentType: false,
 success: function(data) {    
 alert('success');   
},
 error: function(response){
 alert('error');
} 
}); 
}

getBase64函数

function getBase64Image(img) {

var canvas = document.createElement("canvas");
canvas.width = img.naturalWidth;
canvas.height = img.naturalHeight;


var ctx = canvas.getContext("2d");
ctx.drawImage(img, 0, 0);
var dataURL = canvas.toDataURL('image/jpeg');  

return dataURL.replace(/^data:image\/(png|jpg);base64,/, "");

}

和dataURItoBlob函数

function dataURItoBlob(dataURI) {

var byteString = atob(dataURI.split(',')[1]);
var ab = new ArrayBuffer(byteString.length);
var ia = new Uint8Array(ab);

for (var i = 0; i < byteString.length; i++) {
    ia[i] = byteString.charCodeAt(i);
}
return new Blob([ab], { type: 'image/jpeg' });
}

如果有人知道如何修改此代码以使用视频,我非常感谢您的帮助,谢谢!

0 个答案:

没有答案