如何使用javascript/ajax将图像URL转换为DOM文件对象
How to transform an image URL into a DOM file object using javascript/ajax?
我有一个脚本,允许我使用jcrop裁剪图像。要做到这一点,我必须使用input type file
从我的计算机上传一个图像。我想扩展我的应用程序的功能,允许用户从他们的facebook相册中选择照片,这段代码是工作的,但它返回我的图像的URL。从URL中创建如下的图像对象
var oImage = document.getElementById('preview');
但这是一个图像对象,而不是一个文件对象,这将不允许我得到一些文件属性,如oImage.size
和oImage.type
。原始代码是这样的
<input type="file" name="image_file" id="image_file" onchange="fileSelectHandler()" />
和javascript代码
function fileSelectHandler() {
var oFile = $('#image_file')[0].files[0];
...
}
现在我有一个函数,它的回调函数是一个Facebook图片URL,我希望它的工作方式就像我从电脑上传图片一样,因为这个输入类型文件被提交到服务器。
var oImage = document.getElementById('preview');
oImage.src = photo.source;
其中photo.source
是我的URL。
所以我的问题是:如何将URL转换为使用javascript/ajax的文件类型?我还需要把这个类型放到文件输入中因为这是一个要提交的表单。
您应该将URL发布到您的服务器,然后您可以使用PHP下载远程映像并对其进行操作。
提示代码:
if(isset($_POST['image_url'])){
//Make sure to validate $_POST['image_url'] before using it
$image = file_get_contents($_POST['image_url']);
} else {
$image = file_get_contents($_FILES["file"]["tmp_name"]);
}
我通常使用JQuery,JQuery示例ajax post:
$.post('server.php', {image_url:photo.source}, function(data){
//do stuff on server response
});
相关文章:
- DOM事件通过JSON转换为java
- 将GET请求(HTML字符串)转换为完整的DOM对象
- 转换<a>使用jQuery将文本字符串转换为dom元素
- 如何在具有相同DOM结构的AngularJS中转换$(#someid)
- 将 DOM 元素转换为具有所有继承的 JavaScript 类
- jQuery“map”将中的数组转换为“dom”元素
- 正在将DOM元素转换为原始HTML字符串
- DOM元素上的Javascript转换
- 是否可以将一个DOM元素转换为另一个?或者从中复制所有属性
- Metor:将html保存为字符串,然后将其转换为DOM节点
- 使用多个 css 类将 css 转换属性应用于 DOM 对象时遇到问题
- 如何从 DOM 对象转换为 html
- 在 Javascript 中使用正则表达式解析 XHTML 字符串并将其转换为 DOM
- 将 XML 字符串转换为 org.w3c.dom.Document
- 如何计算应用 CSS 转换矩阵的 DOM 元素的边界矩形大小?不使用 Element.getBoundingClient
- 如何转换 HTML DOM 结构
- 将字符串转换为 jquery 元素并将其追加到 DOM 中
- 如何在 Javascript 中从混合的 HTML 字符串/DOM 元素转换为 DOM 元素
- 如何在 PDF 中转换我的网站上的 DOM 元素
- 在javascript中将innerHTML字符串转换为DOM结构