| 
     
      
      
      From: Akram <ak...@fr...> - 2012-01-17 22:48:08
       
   | 
Hi Resteasy players,
I just wrote a JAX-RS Webservice that produces application/octet-stream 
flow to allow download of a file.
When I access the service through firefox, I would like that the Save as 
dialog box proposes the name of the file as the default filename.
Any idea on how to do this with RestEasy ?
Here is my code snippet:
     @GET
     @Path("/{repositoryName}/{workspaceName}/items{path:.*}/download")
     @Produces("application/octet-stream")
     public InputStream getItem(@Context HttpServletRequest request,
             @PathParam("repositoryName") String rawRepositoryName, 
@PathParam("workspaceName") String rawWorkspaceName,
             @PathParam("path") String path) throws JSONException, 
UnauthorizedException, RepositoryException {
         Repository repository = 
RepositoryUtils.getRepository(rawRepositoryName);
         Session session = repository.login(rawWorkspaceName);
         Node fileNode = session.getNode(path);
         Node jcrContent = fileNode.getNode("jcr:content");
         String fileName = fileNode.getName();
         logger.info("Downloading file {}", fileName);
         return jcrContent.getProperty("jcr:data").getBinary().getStream();
     }
Greetings
Akram
 | 
| 
     
      
      
      From: Bill B. <bb...@re...> - 2012-01-17 22:51:11
       
   | 
Not sure how file download works.  File upload uses multipart though. 
Maybe the same for download?
On 1/17/12 5:47 PM, Akram wrote:
> Hi Resteasy players,
>
> I just wrote a JAX-RS Webservice that produces application/octet-stream
> flow to allow download of a file.
> When I access the service through firefox, I would like that the Save as
> dialog box proposes the name of the file as the default filename.
>
> Any idea on how to do this with RestEasy ?
> Here is my code snippet:
>
>       @GET
>       @Path("/{repositoryName}/{workspaceName}/items{path:.*}/download")
>       @Produces("application/octet-stream")
>       public InputStream getItem(@Context HttpServletRequest request,
>               @PathParam("repositoryName") String rawRepositoryName,
> @PathParam("workspaceName") String rawWorkspaceName,
>               @PathParam("path") String path) throws JSONException,
> UnauthorizedException, RepositoryException {
>
>           Repository repository =
> RepositoryUtils.getRepository(rawRepositoryName);
>           Session session = repository.login(rawWorkspaceName);
>           Node fileNode = session.getNode(path);
>
>           Node jcrContent = fileNode.getNode("jcr:content");
>           String fileName = fileNode.getName();
>           logger.info("Downloading file {}", fileName);
>           return jcrContent.getProperty("jcr:data").getBinary().getStream();
>       }
>
>
> Greetings
> Akram
>
>
> ------------------------------------------------------------------------------
> Keep Your Developer Skills Current with LearnDevNow!
> The most comprehensive online learning library for Microsoft developers
> is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
> Metro Style Apps, more. Free future releases when you subscribe now!
> http://p.sf.net/sfu/learndevnow-d2d
> _______________________________________________
> Resteasy-users mailing list
> Res...@li...
> https://lists.sourceforge.net/lists/listinfo/resteasy-users
-- 
Bill Burke
JBoss, a division of Red Hat
http://bill.burkecentral.com
 | 
| 
     
      
      
      From: Akram <ak...@fr...> - 2012-01-18 13:07:28
       
   | 
Hi all
I worked around it by adding the response as an argument of my method and adding the required header to the response
The interceptor solution is more elegant but I did not manage to make it work since I can't find a way to pass the file name to the interceptor
Sent from mobile
On 17 janv. 2012, at 23:59, Bill Burke <bb...@re...> wrote:
> It looks like it takes it from the last segment of the path you queried.  You'll have to play around with it.
> 
> On 1/17/12 5:54 PM, Akram wrote:
>> Hi Bill,
>> 
>> my code is working fine except that I got the following screenshot when
>> accessing:
>> http://localhost:8080/resources/repository/default/items/myfile/download
>> 
>> 
>> 
>> Where I want firefox to propose me "myfile" instead of "download".
>> 
>> 
>> Le 17/01/12 23:51, Bill Burke a écrit :
>>> Not sure how file download works.  File upload uses multipart though.
>>> Maybe the same for download?
>>> 
>>> On 1/17/12 5:47 PM, Akram wrote:
>>>> Hi Resteasy players,
>>>> 
>>>> I just wrote a JAX-RS Webservice that produces application/octet-stream
>>>> flow to allow download of a file.
>>>> When I access the service through firefox, I would like that the Save as
>>>> dialog box proposes the name of the file as the default filename.
>>>> 
>>>> Any idea on how to do this with RestEasy ?
>>>> Here is my code snippet:
>>>> 
>>>>      @GET
>>>>      @Path("/{repositoryName}/{workspaceName}/items{path:.*}/download")
>>>>      @Produces("application/octet-stream")
>>>>      public InputStream getItem(@Context HttpServletRequest request,
>>>>              @PathParam("repositoryName") String rawRepositoryName,
>>>> @PathParam("workspaceName") String rawWorkspaceName,
>>>>              @PathParam("path") String path) throws JSONException,
>>>> UnauthorizedException, RepositoryException {
>>>> 
>>>>          Repository repository =
>>>> RepositoryUtils.getRepository(rawRepositoryName);
>>>>          Session session = repository.login(rawWorkspaceName);
>>>>          Node fileNode = session.getNode(path);
>>>> 
>>>>          Node jcrContent = fileNode.getNode("jcr:content");
>>>>          String fileName = fileNode.getName();
>>>>          logger.info("Downloading file {}", fileName);
>>>>          return jcrContent.getProperty("jcr:data").getBinary().getStream();
>>>>      }
>>>> 
>>>> 
>>>> Greetings
>>>> Akram
>>>> 
>>>> 
>>>> ------------------------------------------------------------------------------
>>>> Keep Your Developer Skills Current with LearnDevNow!
>>>> The most comprehensive online learning library for Microsoft developers
>>>> is just $99.99! Visual Studio, SharePoint, SQL - plus HTML5, CSS3, MVC3,
>>>> Metro Style Apps, more. Free future releases when you subscribe now!
>>>> http://p.sf.net/sfu/learndevnow-d2d
>>>> _______________________________________________
>>>> Resteasy-users mailing list
>>>> Res...@li...
>>>> https://lists.sourceforge.net/lists/listinfo/resteasy-users
>> 
> 
> -- 
> Bill Burke
> JBoss, a division of Red Hat
> http://bill.burkecentral.com
> 
 |