1

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

#+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 文件过早结束

4

1 回答 1

2
 #+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)。

因此,您可以使用第一种方法并独立于代码块包含图像链接;或者,如果您希望在其中捕获下载的图像数据,: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
于 2018-10-21T23:09:44.910 回答