我试图在golang中使用bash等价物:
cat image.jpg | exiftool -author=some_auth - > updated_image.jpg
exiftool ' - ' 选项让它从stdin读取,但是说我将图像存储在变量中
var img []bytes //in golang
我希望stdin包含来自img的字节和系统调用exiftool从stdin中读取这些字节,将结果(stdout)保存在另一个[]字节中 - 我是golang的新手,我该如何处理这个?< / p>
我不想保存到磁盘上的临时文件。
由于
答案 0 :(得分:2)
像
这样的东西out, err := os.Create("updated_image.jpg")
if err != nil {
log.Fatal(err)
}
cmd := exec.Command("exiftool", "-author=some_auth", "-")
cmd.Stdout = out
cmd.Stdin = bytes.NewReader(img)
err = cmd.Run()
if err != nil {
log.Fatal(err)
}
out.Close()
应该有用。
请注意,我还没有对代码进行测试。