0

Context: Trying to upload a file to a web application

Let's assume I'm only using the basic options:

HTTP Request Sampler:

Method: Post
Protocol: http
Path: /api/file/upload

Follow Redirects: checked
Use Keep-Alive: checked
Use multipart/form-data: checked

Files Upload:
   File Path: C:\Users\etc...etc
   Parameter Name: file
   MIME: image/jpeg

Cookies are set with Cookie Manager, Login is also set.

Uploading small files (130KB) works fine like this, Bigger files throw an error 500: "Cannot delete temporary file chunk."

On-website upload works fine and uses resumable.js (which is also the one throwing this error I assume)

I am assuming this is due to chunking, since that's basically the only major difference between what I have tried. Does anyone have any insight on this?

Edit: Using the image photoGood that is "chunked"/split in 2 blocks I can also form POSTs with these parameters:

resumableIdentifier   20702285-photoGoodjpg 
resumableFilename     photoGood.jpg 
resumableType         image/jpeg    
resumableRelativePath photoGood.jpg 
resumableChunkSize    1048576   
resumableChunkNumber  1 
resumableTotalChunks  2 
resumableTotalSize    1859876   
resumableChunkSize    887520    

However, only the ChunkNumber 1 will be used, as in, the chunks are not joined together on the server.

BryceSoker
  • 624
  • 1
  • 11
  • 29

1 Answers1

0

I think your request is missing some mandatory parameters like:

  • resumableChunkNumber
  • resumableChunkSize
  • resumableTotalSize
  • resumableIdentifier
  • resumableFilename
  • resumableRelativePath
  • etc.

Check out documentation at http://www.resumablejs.com/ website for more details.

If you're able to successfully perform upload using browser you should be able to record the associated request(s) using JMeter's HTTP(S) Test Script Recorder, just make sure to copy your PDF file to "bin" folder of your JMeter installation before uploading the file and JMeter will generate the relevant HTTP Request sampler(s) under the Recording Controller.

Check out Recording File Uploads with JMeter article for more details.

It would also be good to capture the traffic from JMeter and the real browser using a 3rd-party sniffer tool like Fiddler or Wireshark, this way you will be able to identify the differences. Once you configure JMeter to send the same requests as the real browser - the whole transaction will be successful.

Dmitri T
  • 159,985
  • 5
  • 83
  • 133
  • Edited question. I am using an enterprise VPN whose setup is a pain in the ass to use with Script Recorder so I just used Blazemeter. I got several of those POST requests however, when sending data like that, only the firstPOST is seen by the document, as in, only the first chunk of image is used in the document, the others are ignored. – BryceSoker Mar 18 '20 at 10:44