cancel
Showing results for 
Search instead for 
Did you mean: 

Large File Downloads

mjwood10
Champ in-the-making
Champ in-the-making
I'm new to Alfresco and am currently having a problem with large file downloads with Alfresco 3.2 Community Edition. I have a 25 MB PDF file which I uploaded into the repository using Alfresco Explorer; however, I'm having some problems downloading the file from a remote website. Remote in the sense of separate web application on the same physical Tomcat 6 server.

I've created a web page that displays the list of files in a certain space inside the repository.  Each file is linked to the content web service like so:
http://localhost:8080/alfresco/service/api/node/content/workspace/SpacesStore/b0129b64-788d-4b2c-941...
.

The file downloads fine when using IE7 or Chrome except that you can't see any of the file until the whole thing has downloaded.  However, in Firefox 3.x the file gets corrupted every time.  I actually have the same problem in Firefox when grabbing the file from Alfresco Explorer.  Even if you right click and save as, the file will be corrupt on the local computer when using Firefox.

I'm not having any problems with smaller files in the 3 - 5 MB range.

1.  Anybody have any idea what the deal is with Firefox?
2. Is there a way to incrementally load the PDF, like if you were pulling it down from a direct link, instead of waiting for the entire file to download before the client can view it?
3.  Should I be writing my own action class to interact with an Alfresco web service instead of using the ReSTful content web service to grab the file?
4. Is there something I need to configure in Alfresco?

Sorry for all the questions, but I really need to find  solution to this problem if I'm going to use Alfresco as a solution.

Thanks
1 REPLY 1

mjwood10
Champ in-the-making
Champ in-the-making
Found a workaround by specifying all files over 5 MB be downloaded as an attachment like so:

             <#if (child.size > 5000000)>
                href="${url.serviceContext}/api/node/content/${child.nodeRef.storeRef.protocol}/${child.nodeRef.storeRef.identifier}/${child.nodeRef.id}/${child.name?url}?&a=true">
             <#else>
                href="${url.serviceContext}/api/node/content/${child.nodeRef.storeRef.protocol}/${child.nodeRef.storeRef.identifier}/${child.nodeRef.id}/${child.name?url}?&a=false">
            </#if>