使用 TIdMultipartFormDataStream 上传照片并请求有效负载数据

uploading photo using TIdMultipartFormDataStream and request payload data

正在尝试使用 idhttp + idssl 上传图片以更改头像,

这是请求负载数据:

------WebKitFormBoundaryhyy5Vlgv8YpwXz7K
Content-Disposition: form-data; name="profile_pic"; filename="profilepic.jpg"
Content-Type: image/jpeg


------WebKitFormBoundaryhyy5Vlgv8YpwXz7K--

我知道我们应该使用 TIdMultipartFormDataStream 来包含照片,但我不知道如何,它应该是这样的 UploadParams.AddFile('photo', Edit11.Text);

i know we should use TIdMultipartFormDataStream to include the photo

是的。

but i dont know how

TIdMultipartFormDataStream只有3种添加数据字段的方法:

  • AddFormField()(将数据作为 stringTStream
  • AddObject()(已弃用)
  • AddFile()

既然要上传文件,那么用AddFile()也是有道理的(除非你给文件打开了一个TStream,那么你可以用AddFormField()代替) .

it supposed to be something like this UploadParams.AddFile('photo', Edit11.Text);

假设 Edit11.Text 包含您要上传的照片文件的完整路径和文件名,您只需将 'photo' 更改为 'profile_pic',因为那是 name 您的 WebKit 示例中的输入字段:

UploadParams.AddFile('profile_pic', Edit11.Text);