Reputation: 11257
I want to upload larger than 100 MB local file and then send it to remove Java server.
I got these possible alternatives:
Use FileReference Flex class, which is not recommended for files larger than 100Mb, and hope that the application will not crash.
Slice the given file to small parts, then send them. For me, this seems pretty harsh decision.
The question: Are there some Flex library which allows sending larger files than 100Mb?
If the answer is NOT, are there some 3rd party libraries for the same thing?
If not, are there some 3rd party libraries for 'slicing' files and sending them asynchronously to server?
EDIT: If I sliced the file to parts, how large they are supposed to be (for proper hash check)?
Upvotes: 1
Views: 3474
Reputation: 700
If the flex fileReference cannot open files larger than 100mb, you could open them with HTML/Javascript via the ExternalInterface. Once you have the file you can split it up in chunks and send it to Flex bit by bit (via Base64 encoding possibly) or upload directly from HTML/JS. Altough I don't know if HTML can open files larger than 100mb.
Upvotes: 1
Reputation: 39916
First of all File's FileReference does not allow you to split files, it allows you to read all data at once, it doesnt allow streaming. Uploading of files larger then 100mb works well without any third party library, however the problem happens at server side, usually ASP.NET or Tomcat server needs bigger timeout in order to accept larger files.
Usually uploading on ASP.NET server (quite same for Java based server as well), script execution time does not consider uploading time and usually it times out before script is uploaded. If uploading takes more then 10 minutes and script execution timeout is less then 10 minutes then no matter what client side library you choose you will never be able to upload files.
You can choose silverlight if you want to break files into smaller parts and you can consider md5 hash given inbuilt in silverlight.
Upvotes: 3
Reputation: 39408
HTTP was not designed for transfer of such large files, so I'd recommend looking into alternate methods of file transfers, such as FTP.
I know that someone tried to create an FTP Flex client using sockets, but I thought the project ran into technical limitations which prevented it from being fully complete.
If at all possible, I'd strongly recommend re-thinking your business requirements.
Upvotes: 1