Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.javascript > #16320

Re: How to send file content to server?

Message-ID <1504793.Zb9mryafdB@PointedEars.de> (permalink)
From Thomas 'PointedEars' Lahn <PointedEars@web.de>
Organization PointedEars Software (PES)
Date 2012-10-02 21:43 +0200
Subject Re: How to send file content to server?
Newsgroups comp.lang.javascript
References <50655c82$0$6892$e4fe514c@news2.news.xs4all.nl> <2953112.VveF1GjdCU@PointedEars.de> <5065817e$0$6883$e4fe514c@news2.news.xs4all.nl> <6300879.mfXoyHR8pD@PointedEars.de> <506a0d4c$0$6932$e4fe514c@news2.news.xs4all.nl>
Followup-To comp.lang.javascript

Followups directed to: comp.lang.javascript

Show all headers | View raw


Tom de Neef wrote:

> "Thomas 'PointedEars' Lahn" wrote:
>>>> pointer:  <http://stackoverflow.com/a/8378918/855543>
> […]
> 
> I can get this to work. (A related useful article that I found through
> your pointer was
> <https://developer.mozilla.org/
> en-US/docs/Using_files_from_web_applications>).

ACK.
 
> But as you say in the reference, the prefered way is to let the work be
> done by the form's submit() method. Not only is it prefered, it is
> mandatory if you don't want to limit the use to the most modern browsers.

You misunderstood.  I said that a form not using client-side scripting and 
only a plain submit button, or something else that submits the form is the 
*simplest* solution.  But it has the drawback that in many cases the file 
content must be transferred to the server before it can be decided whether 
the file should have been submitted in the first place.  And the server can 
only send (at least) one full HTML document as response.

If you use more advanced client-side scripting, you can reduce unnecessary 
roundtrips and provide immediate feedback to the user in case their user 
agents supports that.  Immediate feedback increases the responsiveness of 
the application, which in turn improves the user experience it provides.

> IE8 doesn't support files, FileReader(), etc.

True.  But that does not mean that other users cannot be provided with a 
better experience.  Graceful degration means that you can do a better thing 
without leaving the good one.

> So I also played around with
> <form action="someID?event=fileUpload" method="POST"
> enctype="multipart/form-data">  <input type="file" name="file">  <input
> type="submit"></form>On the server end, the processing is virtually the
> same. And it works: a true copy of the selected file ends up on the
> server. Ain't that marvellous!

Of course.  That has worked at least since HTML 4.01 became a W3C 
Recommendation (1999).

> Now for my ignorance: using the form submit, the connection will be
> terminated (gracefully) after the upload.

Most certainly it will not.  The HTTP version preferred by clients in user 
agents today is HTTP/1.1, which uses persistent connections per default.

> (That does not happen when using the script route.)

Ex falso quodlibet.

> The transmission details of the submit() are:
> POST /990727605?event=fileUpload HTTP/1.1
> Host : 127.0.0.1:88
> Connection : keep-alive

This header field is included in requests for compatibility with HTTP/1.0 
servers, and in responses for compatibility with HTTP/1.0 clients, 
respectively; see RFC 2068 (OBSOLETE), section 19.7.1.

> Content-Length : 3112
> Content-Type : multipart/form-data;
> boundary=---------------------------18756118404966
> Accept : text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
> Start of POSTstream :
> -----------------------------18756118404966
> Content-Disposition: form-data; name="file"; filename="PRNshow.txt"
> Content-Type: text/plain
> <file contents>
> 
> My concern is that the server closes the connection after the submit(). Is
> that to be expected/can it be avoided?

No/yes.

> The detail says 'keep-alive'.

Which is what most certainly happens.

> Where to go from here?

You should read RFC 2616 "Hypertext Transfer Protocol -- HTTP/1.1", section 
19.6.2, and sections and RFCs referred there.

<http://tools.ietf.org/html/rfc2616>


PointedEars
-- 
Use any version of Microsoft Frontpage to create your site.
(This won't prevent people from viewing your source, but no one
will want to steal it.)
  -- from <http://www.vortex-webdesign.com/help/hidesource.htm> (404-comp.)

Back to comp.lang.javascript | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

How to send file content to server? "Tom de Neef" <tdeneef@qolor.nl> - 2012-09-28 10:14 +0200
  Re: How to send file content to server? Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2012-09-28 10:48 +0200
    Re: How to send file content to server? "Tom de Neef" <tdeneef@qolor.nl> - 2012-09-28 12:52 +0200
      Re: How to send file content to server? Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2012-09-28 13:00 +0200
        Re: How to send file content to server? "Tom de Neef" <tdeneef@qolor.nl> - 2012-10-01 23:38 +0200
          Re: How to send file content to server? Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2012-10-02 21:43 +0200
            Re: How to send file content to server? John G Harris <john@nospam.demon.co.uk> - 2012-10-03 16:15 +0100
            Re: How to send file content to server? "Tom de Neef" <tdeneef@qolor.nl> - 2012-10-03 19:06 +0200
              Re: How to send file content to server? Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2012-10-03 20:20 +0200
                Re: How to send file content to server? "Tom de Neef" <tdeneef@qolor.nl> - 2012-10-03 22:46 +0200
                Re: How to send file content to server? "Tom de Neef" <tdeneef@qolor.nl> - 2012-10-04 07:50 +0200

csiph-web