title: Filedownload Issue Django - File becomes practically empty
body: <p>I am having the following issue with filedownload from product views in Django product site: </p>
  
  <p>The issue: Filesize of downloaded file is practically 1kb whilst it should be a normal image filesize (20kb in my example). </p>
  
  <p>So the to-download file is present in static folder of the product instance.id (static_cdn/protected/instance.id/image.jpg -- context: product site where user can upload a file to the corresponding product view).</p>
  
  <p>However, whenever I try to download it from the product view, it downloads the file with the right filename (including the added instance.id number before the filename), but the filesize is almost null. I think it has to do the with the class ProductDownloadView. </p>
  
  <p>Please find the relevant codes below:</p>
  
  <p>views.py:</p>
  
  <pre><code>class ProductDownloadView(MultiSlugMixin, DetailView):
  model = Product
  
  def get(self, request, *args, **kwargs):
      obj = self.get_object()
      filepath = os.path.join(settings.PROTECTED_ROOT, obj.media.path)
      response = HttpResponse(file(filepath), content_type="application/force-download")
      response["Content-Disposition"] = "attachment;filename=%s" % (obj.media.name)
      response["X-SendFile"] = str(obj.media.name)
      return response
  </code></pre>
  
  <p><br>
  models.py</p>
  
  <pre><code>class Product(models.Model):
  user = models.ForeignKey(settings.AUTH_USER_MODEL, null=True, blank=True)
  managers = models.ManyToManyField(settings.AUTH_USER_MODEL, related_name="managers_product")
  media = models.FileField(blank=True,
                           null=True,
                           upload_to=download_media_location,
                           storage=FileSystemStorage(location=settings.PROTECTED_ROOT))
  
      def __unicode__(self):
          return self.title
  
      def get_absolute_url(self):
          view_name = "products:detail_slug"
          return reverse(view_name, kwargs={"slug": self.slug})
  
      def get_download(self):
          view_name = "products:download_slug"
          url = reverse(view_name, kwargs={"slug": self.slug})
          return url
  </code></pre>
  
  <p>Please find below the printed obj, filepath and response variables:</p>
  
  <p>print obj:
  pr8</p>
  
  <p>print filepath:
  C:\Users\xx\xx\xx\market_place\static_cdn\protected\8\Beach.jpg</p>
  
  <p>print response:
  Content-Type: application/force-download
  Content-Disposition: attachment;filename=8/Beach.jpg
  X-SendFile: 8/Beach.jpg</p>
  
  <p>���� JFIF      �� C </p>
  
  <p>[21/Jun/2017 02:17:05] "GET /products/pr8/download/ HTTP/1.1" 200 52</p>