com.atlassian.confluence.servlet.download
Class AttachmentDownload
java.lang.Object
com.atlassian.confluence.servlet.download.ServeAfterTransactionDownload
com.atlassian.confluence.servlet.download.AttachmentDownload
- All Implemented Interfaces:
- com.atlassian.plugin.servlet.DownloadStrategy
- Direct Known Subclasses:
- ThumbnailDownload
public class AttachmentDownload
- extends ServeAfterTransactionDownload
Method Summary |
java.io.InputStream |
getStreamForDownload(javax.servlet.http.HttpServletRequest httpServletRequest,
javax.servlet.http.HttpServletResponse httpServletResponse)
Get the input stream to serve to the client outside of the database transaction. |
protected java.lang.String |
getUrlPrefix()
|
boolean |
matches(java.lang.String urlPath)
|
void |
setAttachmentUrlParser(AttachmentUrlParser attachmentUrlParser)
|
void |
setDownloadResourceManager(DownloadResourceManager downloadResourceManager)
|
void |
setEventManager(com.atlassian.event.EventManager eventManager)
|
protected void |
setFileNameHeader(javax.servlet.http.HttpServletResponse httpServletResponse,
java.lang.String downloadFileName,
java.lang.String userAgent)
We should be able to encode the filename header per RFC 2047, but no browsers currently support it. |
protected void |
setForceRevalidationHeaders(javax.servlet.http.HttpServletResponse httpServletResponse)
|
protected void |
setHeadersForAttachment(java.lang.String name,
long contentLength,
java.lang.String contentType,
javax.servlet.http.HttpServletRequest httpServletRequest,
javax.servlet.http.HttpServletResponse httpServletResponse)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
downloadResourceManager
protected DownloadResourceManager downloadResourceManager
attachmentUrlParser
protected AttachmentUrlParser attachmentUrlParser
eventManager
protected com.atlassian.event.EventManager eventManager
AttachmentDownload
public AttachmentDownload()
matches
public boolean matches(java.lang.String urlPath)
setDownloadResourceManager
public void setDownloadResourceManager(DownloadResourceManager downloadResourceManager)
setAttachmentUrlParser
public void setAttachmentUrlParser(AttachmentUrlParser attachmentUrlParser)
setEventManager
public void setEventManager(com.atlassian.event.EventManager eventManager)
getStreamForDownload
public java.io.InputStream getStreamForDownload(javax.servlet.http.HttpServletRequest httpServletRequest,
javax.servlet.http.HttpServletResponse httpServletResponse)
throws java.io.IOException
- Description copied from class:
ServeAfterTransactionDownload
- Get the input stream to serve to the client outside of the database transaction.
The inputstream must be useable outside of the database transaction that created it
- Specified by:
getStreamForDownload
in class ServeAfterTransactionDownload
- Returns:
- The input stream to serve, or null if nothing to serve.
- Throws:
java.io.IOException
getUrlPrefix
protected java.lang.String getUrlPrefix()
setHeadersForAttachment
protected void setHeadersForAttachment(java.lang.String name,
long contentLength,
java.lang.String contentType,
javax.servlet.http.HttpServletRequest httpServletRequest,
javax.servlet.http.HttpServletResponse httpServletResponse)
setForceRevalidationHeaders
protected void setForceRevalidationHeaders(javax.servlet.http.HttpServletResponse httpServletResponse)
setFileNameHeader
protected void setFileNameHeader(javax.servlet.http.HttpServletResponse httpServletResponse,
java.lang.String downloadFileName,
java.lang.String userAgent)
- We should be able to encode the filename header per RFC 2047, but no browsers currently support it.
So for non-ASCII filenames, we'll omit this header, and good browsers will use the filename
from the URL, for which they know the proper encoding.
MSIE will only understand a filename URL-encoded in the header, which is weird, but some user-agent
matching fixes that.
Copyright © 2003-2008 Atlassian Pty Ltd. All Rights Reserved.