我正在尝试将tcllib的rest包中的图像发布为multipart / form-data文档的一部分。我相信我只需要正确格式化Payoad。
网址看起来像:
POST /api/v1/rawImage/1000?slice=1
我可以轻松地使用curl(以及其他功能)完成此操作:
curl -v -X POST -H "Content-Type: multipart/form-data" -F imageFile=@../../images/data/Image_1.bin http://${HOST}/api/v1/rawImage/1000?slice=1
在浏览rest.tcl时,我看不到任何能明确格式化有效负载边界的东西。
这是我要尝试POST的条件:
#!/usr/bin/tclsh
package require rest
package require json
# pull in Image data
set fh [open "Image_1.bin"]
fconfigure $fh -encoding binary -translation lf
set filedata [read $fh]
close $fh
puts "filedata length: [string length $filedata]"
# POST request
set url http://localhost:5007/api/v1/rawImage/100?slice=1
set header [list content-type multipart/form-data]
set config [list format json method post headers $header]
set form_data {rawImage $filedata}
set res [::rest::simple $url {} $config $form_data]
puts $res
可以看到以下HTTP标头是Wireshark:
答案 0 :(得分:0)
您可以看看create interface command documentation,它是Google文档的示例。
此外,如果您想进一步了解mime边界字符串,还可以在source code of "rest"中看到proc mime_multipart 。