diff --git a/browser/configure.zcml b/browser/configure.zcml
index f50054d..a7b05f1 100644
--- a/browser/configure.zcml
+++ b/browser/configure.zcml
@@ -644,21 +644,16 @@
-
-
-
+
+
+
+
+
diff --git a/browser/node.py b/browser/node.py
index c9ad267..3d44ab4 100644
--- a/browser/node.py
+++ b/browser/node.py
@@ -364,6 +364,9 @@ class NodeView(BaseView):
def targetDownload(self):
return self.targetView('download.html', 'download')
+ def targetRender(self):
+ return self.targetView('download.html', 'show')
+
@Lazy
def virtualTarget(self):
obj = self.virtualTargetObject
diff --git a/browser/resource.py b/browser/resource.py
index 24cd874..6d0d928 100644
--- a/browser/resource.py
+++ b/browser/resource.py
@@ -165,8 +165,6 @@ class ResourceView(BaseView):
context = ti(context)
data = context.data
response = self.request.response
- response.setHeader('Content-Type', context.contentType)
- response.setHeader('Content-Length', len(data))
ct = context.contentType
#if useAttachment or (not ct.startswith('image/') and ct != 'application/pdf'):
if useAttachment:
@@ -175,6 +173,11 @@ class ResourceView(BaseView):
filename = NameChooser(getParent(self.context)).normalizeName(filename)
response.setHeader('Content-Disposition',
'attachment; filename=%s' % filename)
+ response.setHeader('Content-Length', len(data))
+ if ct.startswith('text/'):
+ response.setHeader('Content-Type', 'text/html')
+ return self.renderText(data, ct)
+ response.setHeader('Content-Type', ct)
return data
def download(self):
diff --git a/common.py b/common.py
index 5d96514..a9b3d97 100644
--- a/common.py
+++ b/common.py
@@ -165,6 +165,7 @@ class ResourceAdapterBase(AdapterBase):
storageName = None
storageParams = None
+ localFilename = None
def getChildren(self):
return []