🎨 Supports file upload
This commit is contained in:
@@ -206,7 +206,7 @@ export class HttpRequestParser {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 解析 JsonBlock(用于 @json, @formdata, @urlencoded)
|
* 解析 JsonBlock(用于 @json, @form, @urlencoded)
|
||||||
*/
|
*/
|
||||||
private parseJsonBlock(node: SyntaxNode): any {
|
private parseJsonBlock(node: SyntaxNode): any {
|
||||||
const result: any = {};
|
const result: any = {};
|
||||||
|
|||||||
@@ -92,7 +92,16 @@ func (hcs *HttpClientService) setRequestBody(req *resty.Request, request *HttpRe
|
|||||||
case "formdata":
|
case "formdata":
|
||||||
if formData, ok := request.Body.(map[string]interface{}); ok {
|
if formData, ok := request.Body.(map[string]interface{}); ok {
|
||||||
for key, value := range formData {
|
for key, value := range formData {
|
||||||
req.SetFormData(map[string]string{key: fmt.Sprintf("%v", value)})
|
valueStr := fmt.Sprintf("%v", value)
|
||||||
|
// 检查是否是文件类型,使用 @file 关键词
|
||||||
|
if strings.HasPrefix(valueStr, "@file ") {
|
||||||
|
// 提取文件路径(去掉 @file 前缀)
|
||||||
|
filePath := strings.TrimSpace(strings.TrimPrefix(valueStr, "@file "))
|
||||||
|
req.SetFile(key, filePath)
|
||||||
|
} else {
|
||||||
|
// 普通表单字段
|
||||||
|
req.SetFormData(map[string]string{key: valueStr})
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
case "urlencoded":
|
case "urlencoded":
|
||||||
|
|||||||
Reference in New Issue
Block a user