我convert使用內存中的一些數據(來自 html 表單上傳/網絡服務器)調用 imagemagick 的命令。這工作正常,但我想在出現錯誤時獲得錯誤輸出convert。我怎樣才能做到這一點?這是我的代碼:package mainimport ( "bytes" "io" "io/ioutil" "log" "os/exec" "path/filepath")func runImagemagick(data []byte, destfilename string) error { data_buf := bytes.NewBuffer(data) cmd := exec.Command("convert", "-", destfilename) stdin, err := cmd.StdinPipe() if err != nil { return err } err = cmd.Start() if err != nil { return err } _, err = io.Copy(stdin, data_buf) if err != nil { return err } stdin.Close() err = cmd.Wait() if err != nil { return err } return nil}func main() { data, err := ioutil.ReadFile("source.gif") if err != nil { log.Fatal(err) } err = runImagemagick(data, filepath.Join("/tmp", "abc", "dest.png")) if err != nil { log.Fatal(err) }}現在人為的問題是目錄/tmp/abc/不存在。通常convert會給我這樣的結果:$ convert - /tmp/abc/foo.png < source.gif convert: unable to open image `/tmp/abc/foo.png': No such file or directory @ error/blob.c/OpenBlob/2617.convert: WriteBlob Failed `/tmp/abc/foo.png' @ error/png.c/MagickPNGErrorHandler/1755.但我沒有在我的小程序中“看到”這個錯誤信息。如何獲取錯誤消息并將其顯示給我的用戶?(另一個子問題是:如果這段代碼看起來不錯,你能給我一個建議嗎?它有什么明顯的缺陷嗎?)
- 2 回答
- 0 關注
- 272 瀏覽
添加回答
舉報
0/150
提交
取消