You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by jw...@apache.org on 2009/01/06 01:26:30 UTC
svn commit: r731786 - in /myfaces/trinidad/trunk_1.2.x:
trinidad-examples/trinidad-demo/src/main/webapp/demos/tableDemos/exportAsCSV.jspx
trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/taglib/listener/FileDownloadActionListener.java
Author: jwaldman
Date: Mon Jan 5 16:26:29 2009
New Revision: 731786
URL: http://svn.apache.org/viewvc?rev=731786&view=rev
Log:
TRINIDAD-1359 filedownloadactionlistener firefox long filename is truncated
put quotes around the filename that is set in the Content-Disposition--
hsr.setHeader("Content-Disposition", "attachment; filename=\""+encodeHTTPHeaderFilename + "\"");]
trunk_1.2.x
Modified:
myfaces/trinidad/trunk_1.2.x/trinidad-examples/trinidad-demo/src/main/webapp/demos/tableDemos/exportAsCSV.jspx
myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/taglib/listener/FileDownloadActionListener.java
Modified: myfaces/trinidad/trunk_1.2.x/trinidad-examples/trinidad-demo/src/main/webapp/demos/tableDemos/exportAsCSV.jspx
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk_1.2.x/trinidad-examples/trinidad-demo/src/main/webapp/demos/tableDemos/exportAsCSV.jspx?rev=731786&r1=731785&r2=731786&view=diff
==============================================================================
--- myfaces/trinidad/trunk_1.2.x/trinidad-examples/trinidad-demo/src/main/webapp/demos/tableDemos/exportAsCSV.jspx (original)
+++ myfaces/trinidad/trunk_1.2.x/trinidad-examples/trinidad-demo/src/main/webapp/demos/tableDemos/exportAsCSV.jspx Mon Jan 5 16:26:29 2009
@@ -33,11 +33,19 @@
<tr:table var="row" binding="#{csv.table}"
value="#{periodicTable.tableData}" rows="10">
<f:facet name="actions">
+ <tr:panelGroupLayout layout="horizontal">
<tr:commandButton text="Export as CSV">
<tr:fileDownloadActionListener contentType="text/csv; charset=utf-8"
- filename="content.csv"
+ filename="content.csv"
method="#{csv.sendContent}"/>
</tr:commandButton>
+ <tr:commandButton text="Export as CSV long filename test">
+ <tr:fileDownloadActionListener contentType="text/csv; charset=utf-8"
+ filename="This-is-a-long-filename-that-should-still-download-property.csv"
+
+ method="#{csv.sendContent}"/>
+ </tr:commandButton>
+ </tr:panelGroupLayout>
</f:facet>
<tr:column headerText="Name">
<tr:outputText value="#{row.name}"/>
Modified: myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/taglib/listener/FileDownloadActionListener.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/taglib/listener/FileDownloadActionListener.java?rev=731786&r1=731785&r2=731786&view=diff
==============================================================================
--- myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/taglib/listener/FileDownloadActionListener.java (original)
+++ myfaces/trinidad/trunk_1.2.x/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/taglib/listener/FileDownloadActionListener.java Mon Jan 5 16:26:29 2009
@@ -109,8 +109,12 @@
if (agentName.contains("msie") || agentName.contains("applewebkit") || agentName.contains("safari"))
isGecko = false;
// boolean isIE = CoreRenderer.isIE(RenderingContext.getCurrentInstance());
+ String encodeHTTPHeaderFilename = MimeUtility.encodeHTTPHeader(filename, !isGecko);
+ // double quotes are needed in case the filename is long. otherwise the filename gets
+ // truncated in Firefox.
hsr.setHeader("Content-Disposition",
- "attachment; filename=" + MimeUtility.encodeHTTPHeader(filename, !isGecko));
+ "attachment; filename=\""+encodeHTTPHeaderFilename + "\"");
+
}
MethodExpression method = getMethod();
OutputStream out = new BufferedOutputStream(hsr.getOutputStream());