🎨 Supports file upload

This commit is contained in:
2025-11-02 01:53:11 +08:00
parent 4fa6bb42e3
commit 4380ad010c
2 changed files with 11 additions and 2 deletions

View File

@@ -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 = {};

View File

@@ -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":