|
@@ -40,6 +40,9 @@ import com.google.common.io.ByteStreams;
|
|
|
class DavFile extends DavNode<FileLocator> {
|
|
|
|
|
|
private static final Logger LOG = LoggerFactory.getLogger(DavFile.class);
|
|
|
+ protected static final String CONTENT_TYPE_VALUE = "application/octet-stream";
|
|
|
+ protected static final String CONTENT_DISPOSITION_HEADER = "Content-Disposition";
|
|
|
+ protected static final String CONTENT_DISPOSITION_VALUE = "attachment";
|
|
|
|
|
|
public DavFile(FilesystemResourceFactory factory, LockManager lockManager, DavSession session, FileLocator node) {
|
|
|
super(factory, lockManager, session, node);
|
|
@@ -56,6 +59,8 @@ class DavFile extends DavNode<FileLocator> {
|
|
|
if (!outputContext.hasStream()) {
|
|
|
return;
|
|
|
}
|
|
|
+ outputContext.setContentType(CONTENT_TYPE_VALUE);
|
|
|
+ outputContext.setProperty(CONTENT_DISPOSITION_HEADER, CONTENT_DISPOSITION_VALUE);
|
|
|
try (ReadableFile src = node.openReadable(); WritableByteChannel dst = Channels.newChannel(outputContext.getOutputStream())) {
|
|
|
outputContext.setContentLength(src.size());
|
|
|
ByteStreams.copy(src, dst);
|