Sending an image file with POST request
I'm trying to send an image as part of my POST request, but I'm getting 400 status code from the server-side. I tried to copy the content of the image into a file and then using contents_from_file attribute, but it's not working.
Here is my request specification:
<request>
<http url="/" method="POST" contents_from_file="imgdata">
<http_header name="Content-Type" value="multipart/form-data"/>
</http>
</request>
The imgdata file content is like this: file=<the rest is the content of image file>
Is there any other way that I can send an image using a PSOT request?
I know that the reply is too late. Hopefully, the reply will help others visit this issue.
The most easy way to compose a request is use the proxy recorder.
Here is the request generated by the proxy recorder:
<request>
<http url='/api/Files/Upload' version='1.1' contents_from_file='~/.tsung/tsung_recorder20200811-1343-1.bin'
content_type='multipart/form-data; boundary=----WebKitFormBoundaryXmxIzOC6w2Vonz83' method='POST'>
<http_header name='Accept' value='*/*'/>
<http_header name='Accept-Encoding' value='gzip, deflate'/>
<http_header name='Accept-Language' value='en-US,en;q=0.9,zh-CN;q=0.8,zh-TW;q=0.7,zh;q=0.6'/>
<http_header name='X-Requested-With' value='XMLHttpRequest'/>
</http>
</request>
And the tsung_recorder20200811-1343-1.bin file:
$ head -n 13 ~/.tsung/tsung_recorder20200811-1343-1.bin
------WebKitFormBoundaryXmxIzOC6w2Vonz83
Content-Disposition: form-data; name="targetPath"
result
------WebKitFormBoundaryXmxIzOC6w2Vonz83
Content-Disposition: form-data; name="thumbnailSize"
300
------WebKitFormBoundaryXmxIzOC6w2Vonz83
Content-Disposition: form-data; name="file"; filename="blob"
Content-Type: image/png
�PNG
The form data targetPath and thumbnailSize are used by my application. I just leave it here without modification. You can see that contents_from_file points to the file that contains the body of the HTTP request.