【Http 每天一小问 ,Post上传文件时, 文件和 -d(--data)和 -F(--form) 不能同时存在 ,怎么办】
今天在做文件上传的时候 ,遇到报错, Warning: You can only select one HTTP request method! You asked for both POST ,
调用命令
curl -X POST https://example.com/log/upload \
-F "file=@/usr/log/app.log" \
-H "Token: token_abc" \
-d 'metadata={"timestamp": 1725448366, "device_id": "app-xx1"}'
查了下原因,原来:-d
选项不能与 -F
选项混合使用。应该使用 -F
选项来发送表单数据,包括文件和其他字段。修整:
curl -X POST https://example.com/log/upload \
-F "file=@/usr/log/app.log" \
-H "Token: token_abc" \
-F "metadata={\"timestamp\": 1725448366, \"device_id\": \"app-xx1\"}"
然后在服务端的时候接收,类似
metadataStr = req.PostForm("metadata")
// 然后解析使用
#我的问题