gpt4 book ai didi

javascript - 如何使用 javascript/ajax 将图像 URL 转换为 DOM 文件对象?

转载 作者:可可西里 更新时间:2023-11-01 14:52:19 26 4
gpt4 key购买 nike

我有一个脚本可以让我使用 jcrop 裁剪图像。为此,我必须使用 输入类型文件 从我的计算机上传图像。我想扩展我的应用程序的功能,允许用户从他们的 facebook 相册中选择照片,此代码有效,但它返回图像的 URL。从 URL 我创建了一个像这样的图像对象

var oImage = document.getElementById('preview');

但这是一个图像对象而不是文件对象,它不允许我获得一些文件属性,如 oImage.sizeoImage.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。

所以我的问题是:如何使用 javascript/ajax 将 URL 转换为文件类型?我还需要将该类型放入文件输入中,因为这是将要提交的表单。提前致谢。

最佳答案

您应该将 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('server.php', {image_url:photo.source}, function(data){
//do stuff on server response
});

关于javascript - 如何使用 javascript/ajax 将图像 URL 转换为 DOM 文件对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16651333/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com