Just to add to Carson's post:

There is a HTTP header corruption bug in Flash Player 8 Release and
8.5.0.133 players that will cause Upload and Download functionality to be
limited. This bug has been fixed within 8.5.0.175 player.

Here is what doesn't work seamlessly:

1. HTTP AUTH - Authorization Headers will corrupt data exchange. If you
upload to an application running within an authorized HTTP session, in some
browsers the upload will fail. I have seen this occur in Safari(OSX) and
FireFox(Win32).

2. POST Parameters will corrupt data exchange on an Upload request. This is
specific to FireFox(Win32) when additional HTTP POST parameters are added
into a request. I have seen this occur in Safari(OSX) and FireFox(Win32).

3. HTTPS/SSL usage with FileReference requires a separate loading of a
crossdomain policy file for use within the same domain.

The FileReference functionality in FireFox(Win32) does not use the FireFox
browser to exchange data, instead it uses native Win32 networking. I believe
that many of the errors in Firefox are a result of upload and download
requests traveling through win32 networking. When using Authorization
headers, you will see the Internet Explorer Authorization Security Dialog
appear in addition to the Firefox Authorization Security Dialog. The problem
is that authorization headers are not shared between Firefox and Win32
Networking. Although you may have Auth session headers in Firefox, when you
use upload/download, the header data is lost.

Ideally I have found that it is best to use very simple upload logic for
compatibility. I typically use URLRewriting to add parameters into the
upload url path without the use of GET/POST parameters. I upload to a
separate HTTP/HTTPS subdomain and pass a unique token within the upload
request url like so:

http://upload.myserver.com/upload/29879827342342342

The upload application saves the upload file data if the token exists and
expires the token when an upload occurs or within 10 minutes. This
methodology seems to work compatibly for all existing browsers and can be
adapted to any security model. 

On the download requests URLRewriting is also very handy. To make sure the
filename is returned consistently, I append the name into a URLRewritten
request like so:

http://upload.myserver.com/upload/2020938409987234/myFile.pdf

In this case, 2020938409987234 is used to obtain a file but the name makes
sure that the user will always be presented with 'myFile.pdf' within the
FileReference SaveAs Dialog. I have seen several cases where the
defaultFileName argument on the download method will fail when POST or GET
Parameters are in use. If you call download with the above URL, the name
will be myFile.pdf consistently.

Please understand that these solutions are not ideal but they work well and
I have yet to find a case that could not be adapted into an application.

My 2 Cents,

Ted Patrick
Cynergy Systems, Inc.
http://www.cynergysystems.com



> -----Original Message-----
> From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On
> Behalf Of Carson Hager
> Sent: Wednesday, January 11, 2006 7:47 PM
> To: flexcoders@yahoogroups.com
> Subject: RE: [flexcoders] FileReference Download
> 
> You cannot. In my opinion, this functionality is seriously limited in
> this regard.  You also can't add anything to the multipartrequest form
> for uploads. You have to append to the URL.  Your best bet is to use an
> httpservice or webservice that preallocates the row in the database
> returning the key to your Flex app. You can then use that key in the URL
> of your upload to tell your server script what row to place the data in.
> 
> 
> Carson
> 
> 
> ____________________________________________
> 
> Carson Hager
> Cynergy Systems, Inc.
> http://www.cynergysystems.com
> 
> Email:  [EMAIL PROTECTED]
> Office:  866-CYNERGY
> Mobile: 1.703.489.6466
> 
> 
> 
> -----Original Message-----
> From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On
> Behalf Of [EMAIL PROTECTED]
> Sent: Wednesday, January 11, 2006 6:33 AM
> To: flexcoders@yahoogroups.com
> Subject: RE: [flexcoders] FileReference Download
> 
>  We want to use this functionality to save a document in the server
> along
> with some indexing information. Using the Flash sample we were able to
> do
> that using a ColdFusion page. However, we need to get back a id assigned
> at
> the time we indexed the uploaded document. How can we send this back to
> Flex, if the ColdFusion page is being called by the FileReferece.upload
> method which only returns true or false?
> 
> 
> 
> 
> |---------+--------------------------------->
> |         |                                 |
> |         |  "Carson Hager"                 |
> |         |  <[EMAIL PROTECTED]|
> |         |  m>                             |
> |         |  Sent by:                       |
> |         |  flexcoders@yahoogroups.com     |
> |         |  01/06/2006 04:09 PM            |
> |         |  Please respond to flexcoders   |
> |         |                                 |
> |---------+--------------------------------->
> 
> >-----------------------------------------------------------------------
> ------------------------------------------------------|
>   |
> |
>   |      To: flexcoders@yahoogroups.com
> |
>   |      cc:
> |
>   |      Subject:  RE: [flexcoders] FileReference Download
> |
> 
> >-----------------------------------------------------------------------
> ------------------------------------------------------|
> 
> 
> 
> 
> Just provide a URL that calls a JSP?Servlet that streams the file back.
> That's how we've done it.
> 
> 
> Carson
> 
> 
> ____________________________________________
> 
> Carson Hager
> Cynergy Systems, Inc.
> http://www.cynergysystems.com
> 
> Email:  [EMAIL PROTECTED]
> Office:  866-CYNERGY
> Mobile: 1.703.489.6466
> 
> 
> 
> -----Original Message-----
> From: flexcoders@yahoogroups.com [mailto:[EMAIL PROTECTED] On
> Behalf Of j_sports
> Sent: Friday, January 06, 2006 12:48 PM
> To: flexcoders@yahoogroups.com
> Subject: [flexcoders] FileReference Download
> 
> I am trying to utilize the Flash 8 FileIO.swf available for use within
> Flex 1.5.  I can successfully download a file from a remote url where
> a file is being stored on disk, but I wish to load a file being stored
> as a blob in the database.  It seems silly to extract the file from
> the database, write it temperarily to disk and then initiate the flash
> download.  Is there a way to make the file available for download
> without first writing it to the servers file system?  I would be using
> java for any backend work required and am currently using a servlet
> with the apache commons fileUpload 1.1 jar to do file uploads.
> 
> The flash 8 documentation indicates that the download signature is as
> follows:
> 
> public download(url:String, [defaultFileName:String]) : Boolean
> 
> Which leads me to believe there is no alternative.
> 
> 
> 
> 
> 
> 
> --
> Flexcoders Mailing List
> FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
> Search Archives:
> http://www.mail-archive.com/flexcoders%40yahoogroups.com
> Yahoo! Groups Links
> 
> 
> 
> 
> 
> 
> 
> 
> 
> --
> Flexcoders Mailing List
> FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
> Search Archives:
> http://www.mail-archive.com/flexcoders%40yahoogroups.com
> Yahoo! Groups Links
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> 
> ------------------------------------------------------------------------
> ---
> This e-mail message (including attachments, if any) is intended for the
> use
> of the individual or entity to which it is addressed and may contain
> information that is privileged, proprietary , confidential and exempt
> from
> disclosure.  If you are not the intended recipient, you are notified
> that
> any dissemination, distribution or copying of this communication is
> strictly prohibited.  If you have received this communication in error,
> please notify the sender and erase this e-mail message immediately.
> ------------------------------------------------------------------------
> ---
> 
> 
> 
> 
> 
> 
> --
> Flexcoders Mailing List
> FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
> Search Archives:
> http://www.mail-archive.com/flexcoders%40yahoogroups.com
> Yahoo! Groups Links
> 
> 
> 
> 
> 
> 
> 
> 
> 
> --
> Flexcoders Mailing List
> FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
> Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com
> Yahoo! Groups Links
> 
> 
> 
> 
> 
> 
> --
> No virus found in this incoming message.
> Checked by AVG Free Edition.
> Version: 7.1.371 / Virus Database: 267.14.17/226 - Release Date: 1/10/2006
> 

-- 
No virus found in this outgoing message.
Checked by AVG Free Edition.
Version: 7.1.371 / Virus Database: 267.14.17/226 - Release Date: 1/10/2006
 



--
Flexcoders Mailing List
FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
Search Archives: http://www.mail-archive.com/flexcoders%40yahoogroups.com 
Yahoo! Groups Links

<*> To visit your group on the web, go to:
    http://groups.yahoo.com/group/flexcoders/

<*> To unsubscribe from this group, send an email to:
    [EMAIL PROTECTED]

<*> Your use of Yahoo! Groups is subject to:
    http://docs.yahoo.com/info/terms/
 


Reply via email to