该文件已在您的服务器上.您可以使用它,正如
Yair Nevet的答案所说.
如果你真的想让它成为一个File对象,也许你可以使用它(我不知道它是否有效).
var getFilelikeBlobFromImageElement = (function closure() {
var canvasElement = document.createElement("canvas");
return function(imageElement) {
canvasElement.width = imageElement.width;
canvasElement.height = imageElement.height;
var canvasContext = canvasElement.getContext("2d");
canvasContext.drawImage(imageElement, 0, 0);
var imageData = canvasContext.getImageData(0, 0, imageElement.width, imageElement.height).data;
var buffer = new Uint8Array(imageData.length);
for(var index = 0; index < imageData.length; index++)
buffer[index] = imageData[index];
var imageBlob = new Blob(buffer);
imageBlob.lastModifiedDate = new Date();
imageBlob.name = /\/([^\/]+)$/.exec(imageElement.src)[1];
return imageBlob; // A `File`-like `Blob` object.
};
})();
用法:
getFilelikeBlobFromImageElement(document.getElementById("imgProfile"));