1

对不起,如果这属于服务器故障

我想知道使用 SVG(xml) 字符串作为"convert msvg:- jpeg:- 2>&1"命令的标准输入的正确方法是什么(使用 linux)

目前我只是保存一个临时文件用作输入,但在我的情况下数据来自一个 API,因此将字符串直接提供给命令显然是最有效的。

我感谢大家的帮助。谢谢!

4

1 回答 1

3

这应该有效:

convert  -  output.jpg

例子:

convert  logo:  logo.svg
cat logo.svg | convert  -  logo.jpg

解释:

  1. 该示例的第一行创建一个 SVN 文件并将其写入磁盘。这只是一个准备停止,以便我们可以运行第二行。

  2. 第二行是两个命令的管道cat:将文件的字节流式传输到标准输出(标准输出)。

  3. 第一行仅用于为管道中的下一个命令做准备,以便下一个命令可以读入。

  4. 下一个命令是convert.

  5. -字符是一种告诉convert不从磁盘读取其输入数据,而是从标准输入(标准输入)读取其输入数据的方法。

  6. 所以从它的标准convert输入读取它的输入数据并将它的 JPEG 输出写入文件。logo.jpg

  7. 所以我的第一个命令/行类似于您描述为'current I'm just Saving a temp file to use as input' 的步骤。

  8. 我的第二个命令行不使用您的 API(我无权访问它,是吗?),但它演示了一种不同的方法来'feeding a string directly to the command'

  9. 所以最重要的教训是:无论convert通常从文件中读取输入的位置以及在命令行中写入文件名的位置,都可以将文件名替换-为告诉convert它应该从stdin读取。(但是您需要确保在convert's 的标准输入上确实提供了可以消化的东西......)

抱歉,我无法比这更好地解释...

于 2012-08-14T00:59:02.323 回答