我一直在尝试复制一个代码,我将上传的图像上传到服务器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' });
}
如果有人知道如何修改此代码以使用视频,我非常感谢您的帮助,谢谢!