javascript - 如何从已加载的图像 (<img>) 创建 HTML 5 文件?

标签 javascript jquery html angularjs filereader

您好,我有一个页面,我在其中显示用户的个人资料图像,它是这样加载的:

$("#imgProfile").attr('src', 'http://myserver/user.png ')

现在我需要使用 HTML 5 文件 API 提交此图像,但为此我需要先将我的图像转换为文件 API。我在网上看到的所有示例都与 input type="file"一起工作,但我已经有了那个图像,我没有从本地计算机中选择图像。

所有的例子都像这个https://developer.mozilla.org/en-US/docs/Using_files_from_web_applications从 input type="file"元素使用 File API

最佳答案

该文件已经在您的服务器上。您可以使用它,如 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"));

To get the Blob from a <canvas>

To make a Blob File -like

关于javascript - 如何从已加载的图像 (<img>) 创建 HTML 5 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30360738/

相关文章:

javascript - 处理触摸屏上的鼠标和触摸事件

javascript - 从回调转换后的 Ember.js

javascript - 通过 jquery 获取多个选择框的值

javascript - 响应式菜单未显示 Uncaught TypeError : jQuery(. ..).on 不是 WordPress 网站中的功能

html - 导致浏览器响应问题的 CSS 解析错误

javascript - 如何在 SVG 中包装文本

javascript - 使用 Django 和 Backbone 进行渐进增强 - 如何将两者集成?

php - 突出显示 PHP 中的新 mySQL 条目

c# - 如何使用 jQuery 遍历我的 Json 响应?

javascript - 将一个元素的所有属性分配给另一个元素