组织模式:图像在结果中损坏

Org-Mode: Image get corrupted in result

我正在使用 Emacs Org-Mode,我正在尝试使用 wget 从网络上获取图片并将其显示为代码块结果中的内联图像。因此,我编写了以下代码块:

#+BEGIN_SRC bash :results file :file ~/image.jpg
url='https://gist.githubusercontent.com/brettlangdon/85942af486eb79118467/raw/2a7409cd3c26a90b2e82bdc40dc7db18b92b3517/06b3FMA.jpg'
wget "$url" -O ~/image.jpg
#+END_SRC

#+RESULTS:
[[file:~/image.jpg]]

但是,图像无法显示并损坏。在控制台中我得到:

Premature end of JPEG file

 #+BEGIN_SRC bash
 url='https://gist.githubusercontent.com/brettlangdon/85942af486eb79118467/raw/2a7409cd3c26a90b2e82bdc40dc7db18b92b3517/06b3FMA.jpg'
 wget "$url" -O ~/image.jpg
 #+END_SRC

执行脚本,下载指定的URL到~/image.jpg

 #+BEGIN_SRC bash :results file :file ~/image.jpg
 url='https://gist.githubusercontent.com/brettlangdon/85942af486eb79118467/raw/2a7409cd3c26a90b2e82bdc40dc7db18b92b3517/06b3FMA.jpg'
 wget "$url" -O ~/image.jpg
 #+END_SRC

执行脚本,将指定的 URL 下载到 ~/image.jpg,然后将 shell 命令的标准输出写入 ~/image.jpg(我希望你得到一个 文件,因为 wget 将信息写入 stderr)。

因此您可以使用第一种方法并独立于代码块包含图像 link;或者,如果您希望在 :results 中捕获下载的图像数据,您需要告诉 wget 写入标准输出。

 #+BEGIN_SRC bash :results file :file ~/image.jpg
 url='https://gist.githubusercontent.com/brettlangdon/85942af486eb79118467/raw/2a7409cd3c26a90b2e82bdc40dc7db18b92b3517/06b3FMA.jpg'
 wget "$url" -O -
 #+END_SRC