【问题标题】:filereader access web image文件阅读器访问网络图像
【发布时间】:2012-08-25 03:33:25
【问题描述】:

如果我用它从本地电脑中选择图像,下面的代码效果很好:

var outerImg=document.getElementById("img");

    if(!outerImg.files[0])
    {
        return;
    }
    var imgdat=outerImg.files[0];
    var reader = new FileReader();
    reader.onload=function(event)
    {
        var img=new Image; 
            img.onload=function()
        {
            doThings(this);
        }
            img.src=event.target.result;
            alert(img.src);
    }
    reader.readAsDataURL(imgdat);

我的问题是,是否可以使用类似的方式访问网络图像?假设我有 10 张图片并使用 <img src="xxx.jpg" id="img1"> 显示它们并使用阅读器访问它们?

【问题讨论】:

  • 如果这是Javascript(如果不是不要杀我),请添加标签:)
  • 如果您可以访问 JQuery 库,只需执行 $("myDiv").append("
  • 嗨,你的意思是这可能吗?只要我们使用jquery?实际上,网络图像来自我存储在 MySQL 中的服务器,我希望允许用户访问每个图像以进行图像处理。
  • 如果此代码附加到网页(网页内),然后创建一个 div 标签或一些元素来保存您的图像。加载图像后,使用我提供的代码将其放入 div 标签中。这是通过网站执行的,对吗?
  • 是的!正确的。我刚刚使用您的代码尝试了 id=myDiv 中的图像。但是,它显示了 Uncaught TypeError: Cannot read property '0' of undefined 。对不起,我对 HTML5 API 很陌生,请指教。

标签: javascript filereader


【解决方案1】:

图像元素上没有files 属性。这应该可以解释您在到达 FileReader 位之前遇到的 javascript 错误。

【讨论】:

  • 你好,我怀疑这也会导致问题。那么是否可以使用 FileReader 访问图像?
  • 我不肯定,但是在你修复了 js 错误之后,你可以尝试像这样直接使用 img 元素reader.readAsDataURL(outerImg);
  • hm..尝试评论 [0] 的东西并使用您的建议,没有回应。
  • 那我猜你的问题的答案是否定的。
  • 所以你的结论是 FileReader 只能处理本地文件,而不能处理“xx”之类的文件。
猜你喜欢
  • 2013-03-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多