我已经实现了一个基于gin的http服务器(golang )。
我用curl multipart/form-data将2张图片上传到服务器
curl -X POST -F upload0=@jpg -F upload1=@jpg -H "Content-Type: multipart/form-data" "http://server:port/path"
服务器代码如下所示:
func extractImgs(c *gin.Context) {
prefix := "prefix"
for ix := 0; ix < 2; ix++ {
file, _, err := c.Request.FormFile(prefix + strconv.Itoa(ix))
if err != nil {
// do sth.
return
}
face_recognize_async(file)
}
}你知道,人脸识别很费时,我希望工作流程是:
get_1st_img -> recognize_face -> get_2nd_img -> recognize_face -> ...我打印c.Request.FormFile()执行时间,它在检索完后返回所有2个文件。
我的问题:
( 1)如何像遍历链表一样连续检索这些文件;
2) http多部分是一个很好的选择,应该用TCP/STCP来实现吗?
发布于 2016-10-15 17:58:51
由于FormFile对已发布表单中的文件进行索引,因此需要对整个表单进行解析。来自FormFile文档:
必要时,FormFile调用ParseMultipartForm和ParseForm。
如果您想一次只流一个部分的多部分表单,请使用Request.MultipartReader
https://stackoverflow.com/questions/40055890
复制相似问题