Join the AMA (Ask Me Anything) with the Firefox leadership team to celebrate Firefox 20th anniversary and discuss Firefox’s future on Mozilla Connect. Mark your calendar on Thursday, November 14, 18:00 - 20:00 UTC!

This site will have limited functionality while we undergo maintenance to improve your experience. If an article doesn't solve your issue and you want to ask a question, we have our support community waiting to help you at @FirefoxSupport on Twitter and/r/firefox on Reddit.

ค้นหาฝ่ายสนับสนุน

Avoid support scams. We will never ask you to call or text a phone number or share personal information. Please report suspicious activity using the “Report Abuse” option.

เรียนรู้เพิ่มเติม

How does Firefox and AWS S3 initiate an upload after a form post to S3

  • 1 การตอบกลับ
  • 1 คนมีปัญหานี้
  • 1 ครั้งที่ดู
  • ตอบกลับล่าสุดโดย glez

more options

I'm trying to understand how AWS pulls a file from a client device after I post an upload request to AWS S3. HTML is asynchronous and I can't figure out how, after I post the file name and such, an upload is started.

I’m uploading images from a user’s device to a S3 bucket using a HTML form. Everything is working fine but I don’t understand how the S3 server can initiate an upload from a client browser after the form data (file name, signature, policy, etc.) has been posted to its URL. The image data is in a file on the client device and is not contained in the form, only the file name is there. Where in the process is the upload started and how does the S3 server tell the client browser to upload the image data?

Perhaps there’s more communication between the web server and browser during a post/response that I’m not aware of. Perhaps AWS and Firefox have a WebSocket open to perform the file upload?

Any insight would be appreciated.

I'm trying to understand how AWS pulls a file from a client device after I post an upload request to AWS S3. HTML is asynchronous and I can't figure out how, after I post the file name and such, an upload is started. I’m uploading images from a user’s device to a S3 bucket using a HTML form. Everything is working fine but I don’t understand how the S3 server can initiate an upload from a client browser after the form data (file name, signature, policy, etc.) has been posted to its URL. The image data is in a file on the client device and is not contained in the form, only the file name is there. Where in the process is the upload started and how does the S3 server tell the client browser to upload the image data? Perhaps there’s more communication between the web server and browser during a post/response that I’m not aware of. Perhaps AWS and Firefox have a WebSocket open to perform the file upload? Any insight would be appreciated.

วิธีแก้ปัญหาที่เลือก

Further research has shown that the browser itself automatically formats each file as a part of the form submission when the form has an input type="file" control. The file becomes an intrinsic part of the form data submitted and the server side processing knows to look for it as such.

HTML4 input type="file" spec

"The following example shows how the contents of a user-specified file may be submitted with a form. The user is prompted for his or her name and a list of file names whose contents should be submitted with the form. By specifying the enctype value of "multipart/form-data", each file's contents will be packaged for submission in a separate section of a multipart document."

อ่านคำตอบนี้ในบริบท 👍 0

การตอบกลับทั้งหมด (1)

more options

วิธีแก้ปัญหาที่เลือก

Further research has shown that the browser itself automatically formats each file as a part of the form submission when the form has an input type="file" control. The file becomes an intrinsic part of the form data submitted and the server side processing knows to look for it as such.

HTML4 input type="file" spec

"The following example shows how the contents of a user-specified file may be submitted with a form. The user is prompted for his or her name and a list of file names whose contents should be submitted with the form. By specifying the enctype value of "multipart/form-data", each file's contents will be packaged for submission in a separate section of a multipart document."