Răsfoiți Sursa

添加上传文件大小信息

wushaodong 4 ani în urmă
părinte
comite
808047ba9a
2 a modificat fișierele cu 12 adăugiri și 5 ștergeri
  1. 11 4
      apps/upload/models.py
  2. 1 1
      apps/upload/serializers.py

+ 11 - 4
apps/upload/models.py

@@ -1,10 +1,13 @@
 # coding=utf-8
+import os
+
 from PIL import Image
 from django.conf import settings
 from django.db import models
 from utils.file_operation import UploadFile, DeleteFile
 from django.utils import timezone
 
+
 from apps.tenant.models import Tenant
 
 
@@ -23,6 +26,7 @@ class UploadManager(models.Manager):
         path = UploadManager.calculatePath(type, tenant.id, user.id)
         filename = UploadFile(file, path)
         fullname = "%s%s" % (settings.MEDIA_ROOT, filename)
+        size = os.path.getsize(fullname)
 
         try:
             img = Image.open(fullname)
@@ -42,7 +46,8 @@ class UploadManager(models.Manager):
             name=file.name,
             picture="%s%s" % (settings.MEDIA_URL, filename),
             width=width,
-            height=height
+            height=height,
+            file_size="%.2f kb" % (float(size)/1024),
         )
         instance.save()
         return instance
@@ -51,7 +56,8 @@ class UploadManager(models.Manager):
 
         path = UploadManager.calculatePath(type, tenant.id, user.id)
         filename = UploadFile(file, path)
-        # fullname = "%s%s" % (settings.MEDIA_ROOT, filename)
+        fullname = "%s%s" % (settings.MEDIA_ROOT, filename)
+        size = os.path.getsize(fullname)
 
         instance = self.model(
             tenant=tenant,
@@ -60,7 +66,8 @@ class UploadManager(models.Manager):
             name=file.name,
             picture="%s%s" % (settings.MEDIA_URL, filename),
             width=200,
-            height=200
+            height=200,
+            file_size="%.2f kb" % (float(size)/1024),
         )
         instance.save()
         return instance
@@ -101,7 +108,7 @@ class Upload(models.Model):
     width = models.IntegerField(verbose_name=u"图片宽度", blank=True, default=0)
     height = models.IntegerField(verbose_name=u"图片高度", blank=True, default=0)
     create_time = models.DateTimeField(verbose_name=u'上传时间', auto_now_add=True, editable=False)
-    # sound = models.CharField(verbose_name=u'声音路径', max_length=250)
+    file_size = models.FloatField(verbose_name="文件大小",blank=True, default=0)
 
     objects = UploadManager()
 

+ 1 - 1
apps/upload/serializers.py

@@ -9,4 +9,4 @@ class UploadSerializer(serializers.ModelSerializer):
 
     class Meta:
         model = Upload
-        fields = ('picture', 'width', 'height', 'type')
+        fields = ('picture', 'width', 'height', 'type', 'file_size')