Browse Source

Fixed #19006 - Quoted filenames in Content-Disposition header.

Tim Graham 12 years ago
parent
commit
234ca6c61d
3 changed files with 6 additions and 6 deletions
  1. 2 2
      docs/howto/outputting-csv.txt
  2. 3 3
      docs/howto/outputting-pdf.txt
  3. 1 1
      docs/ref/request-response.txt

+ 2 - 2
docs/howto/outputting-csv.txt

@@ -21,7 +21,7 @@ Here's an example::
     def some_view(request):
         # Create the HttpResponse object with the appropriate CSV header.
         response = HttpResponse(mimetype='text/csv')
-        response['Content-Disposition'] = 'attachment; filename=somefilename.csv'
+        response['Content-Disposition'] = 'attachment; filename="somefilename.csv"'
 
         writer = csv.writer(response)
         writer.writerow(['First row', 'Foo', 'Bar', 'Baz'])
@@ -93,7 +93,7 @@ Here's an example, which generates the same CSV file as above::
     def some_view(request):
         # Create the HttpResponse object with the appropriate CSV header.
         response = HttpResponse(mimetype='text/csv')
-        response['Content-Disposition'] = 'attachment; filename=somefilename.csv'
+        response['Content-Disposition'] = 'attachment; filename="somefilename.csv"'
 
         # The data is hard-coded here, but you could load it from a database or
         # some other source.

+ 3 - 3
docs/howto/outputting-pdf.txt

@@ -52,7 +52,7 @@ Here's a "Hello World" example::
     def some_view(request):
         # Create the HttpResponse object with the appropriate PDF headers.
         response = HttpResponse(mimetype='application/pdf')
-        response['Content-Disposition'] = 'attachment; filename=somefilename.pdf'
+        response['Content-Disposition'] = 'attachment; filename="somefilename.pdf"'
 
         # Create the PDF object, using the response object as its "file."
         p = canvas.Canvas(response)
@@ -87,7 +87,7 @@ mention:
   the PDF using whatever program/plugin they've been configured to use for
   PDFs. Here's what that code would look like::
 
-      response['Content-Disposition'] = 'filename=somefilename.pdf'
+      response['Content-Disposition'] = 'filename="somefilename.pdf"'
 
 * Hooking into the ReportLab API is easy: Just pass ``response`` as the
   first argument to ``canvas.Canvas``. The ``Canvas`` class expects a
@@ -121,7 +121,7 @@ Here's the above "Hello World" example rewritten to use :mod:`io`::
     def some_view(request):
         # Create the HttpResponse object with the appropriate PDF headers.
         response = HttpResponse(mimetype='application/pdf')
-        response['Content-Disposition'] = 'attachment; filename=somefilename.pdf'
+        response['Content-Disposition'] = 'attachment; filename="somefilename.pdf"'
 
         buffer = BytesIO()
 

+ 1 - 1
docs/ref/request-response.txt

@@ -590,7 +590,7 @@ To tell the browser to treat the response as a file attachment, use the
 this is how you might return a Microsoft Excel spreadsheet::
 
     >>> response = HttpResponse(my_data, content_type='application/vnd.ms-excel')
-    >>> response['Content-Disposition'] = 'attachment; filename=foo.xls'
+    >>> response['Content-Disposition'] = 'attachment; filename="foo.xls"'
 
 There's nothing Django-specific about the ``Content-Disposition`` header, but
 it's easy to forget the syntax, so we've included it here.