如何使用javascript从远程网站上传图像?

时间:2011-08-18 07:32:09

标签: javascript jquery html client-side

我有什么方法可以做到吗?例如,我有一个

<input type="file" id="upload_file" />

显然我不能只是

$('#upload_file').val('http://www.site.com/path/to/image.jpg').parent().submit();

4 个答案:

答案 0 :(得分:4)

你不能这样做。

  1. Javascript不允许您从其他域读取(出于安全原因)。
  2. 文件输入不接受URL输入(或对于那个问题路径)AFAIK。

答案 1 :(得分:0)

我看不出你将如何让它发挥作用。你使用什么服务器端语言?从服务器直接请求远程文件不是更好吗?

答案 2 :(得分:0)

如果该网站支持你想要做的事情,它应该有效。 大多数文件上传都非常严格,因为即使您知道上传脚本,也无法在任何地方上传文件。

如果主机支持发送图片链接,并且他知道如何处理它......我不明白为什么你的脚本不起作用。

<form method="post" action="http://www.example.org/">
     <input type="text" name="upload_file" id="upload_file" value="" />
     <input type="submit" onclick="$('#upload_file').val('http://www.example.org/example.jpg');">
</form>

答案 3 :(得分:0)

首先,如果没有服务器端工具,则无法进行文件上传。如果没有任何东西可以接收它,那么将文件发送到服务器是毫无意义的。

如果您已经拥有可用的服务器端语言和可在URL上公开访问的文件,那么服务器端语言完全能够通过自己的方式获取文件。没有必要使用浏览器作为中介。您只需要在常规<input type="text">元素中发送该网址。

如果文件不可公开访问,例如,它属于Intranet或受密码保护,则指示用户在浏览器的“打开文件”拨号中键入URL可能更简单。在许多情况下,浏览器将下载文件并使用临时下载的文件填充<input type="file">控件。