组织模式:结果导致图像损坏

时间:2018-10-21 16:17:26

标签: emacs org-mode org-babel

我正在使用 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]]

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

  

JPEG文件过早结束

1 个答案:

答案 0 :(得分:1)

 #+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(我希望您留下一个 empty 文件,因为wget将信息写入stderr)。

因此,您可以使用第一种方法,并独立于代码块来包含图像链接;或者,如果您想在: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