【问题标题】:Display an image from URL显示来自 URL 的图像
【发布时间】:2014-06-04 03:15:06
【问题描述】:

我需要从 URL 中获取图像并显示在视图中。如何在 Cincom Smalltalk 中做到这一点? 例如,我有这个图片网址:

http://news.bbcimg.co.uk/media/images/64001000/jpg/_64001280_63976026.jpg

我希望显示图像。我试试:

|req content reader|
req := HttpRequest
    get:'http://news.bbcimg.co.uk/media/images/64001000/jpg/_64001280_63976026.jpg' asURI.
content:=req execute.
reader := JPEGImageReader new.
reader from: content byteSource.

但它不起作用。 Cincom Smalltalk 说:

预计图像不完整或部分损坏的 JFIF 标记。

当我执行时:JPEGImageReader>>parseFirstMarker.

【问题讨论】:

    标签: image url smalltalk


    【解决方案1】:

    “byteSource”方法返回一个已经定位到文件末尾的流。当 JPEG 阅读器开始阅读时,我到达终点并中止。

    你真的不应该使用 byteSource 方法。如果 URI 的内容被压缩,您将无法正确解压缩它们。您应该获取 byteContents 并在该结果上打开一个 readStream,如下所示:

    |req content reader image |
    req := HttpRequest
        get:'http://news.bbcimg.co.uk/media/images/64001000/jpg/_64001280_63976026.jpg' asURI.
    content:=req execute.
    reader := JPEGImageReader new.
    image := (reader from: content byteContents readStream) image
    

    【讨论】:

      猜你喜欢
      • 2011-09-23
      • 1970-01-01
      • 1970-01-01
      • 2021-09-07
      • 2018-11-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多