|
|
@@ -2,7 +2,7 @@ import random
|
|
|
import string
|
|
|
|
|
|
from django.shortcuts import render, redirect
|
|
|
-from django.contrib.auth.decorators import login_required
|
|
|
+from account.decorators import login_required
|
|
|
from file.models import File
|
|
|
from django.http import FileResponse, JsonResponse, HttpResponse
|
|
|
from django.utils import timezone
|
|
|
@@ -28,26 +28,30 @@ DEBUG = 1
|
|
|
@login_required
|
|
|
def upload_file(request):
|
|
|
if request.method == "POST":
|
|
|
- file_obj = request.FILES.get('upload')
|
|
|
- file_type = judge_filepath(file_obj.name.split('.')[-1].lower())
|
|
|
- file_folder = request.POST.get('file_path')
|
|
|
- update_time = timezone.now().strftime("%Y-%m-%d %H:%M:%S")
|
|
|
- file_size = format_size(file_obj.size)
|
|
|
- file_name = file_obj.name
|
|
|
- save_path = BASE_DIR + '/' + file_folder
|
|
|
- file_path = file_folder + file_name
|
|
|
- file_id_1 = ''.join(random.sample(string.digits, 8))
|
|
|
- File.objects.create(file_id=file_id_1,
|
|
|
- file_name=file_name,
|
|
|
- folder=Folder.objects.filter(folder_id=request.POST.get('folder_id')).get(),
|
|
|
- file_path=file_path,
|
|
|
- update_time=update_time,
|
|
|
- file_size=file_size,
|
|
|
- file_type=file_type)
|
|
|
- with open(save_path + file_name, 'wb+') as f:
|
|
|
- for chunk in file_obj.chunks():
|
|
|
- f.write(chunk)
|
|
|
- return HttpResponse(status=200)
|
|
|
+ try:
|
|
|
+ file_obj = request.FILES.get('upload')
|
|
|
+ file_type = judge_filepath(file_obj.name.split('.')[-1].lower())
|
|
|
+ file_folder = request.POST.get('file_path')
|
|
|
+ update_time = timezone.now().strftime("%Y-%m-%d %H:%M:%S")
|
|
|
+ file_size = format_size(file_obj.size)
|
|
|
+ file_name = file_obj.name
|
|
|
+ save_path = BASE_DIR + '/' + file_folder
|
|
|
+ file_path = file_folder + file_name
|
|
|
+ file_id_1 = ''.join(random.sample(string.digits, 8))
|
|
|
+ File.objects.create(file_id=file_id_1,
|
|
|
+ file_name=file_name,
|
|
|
+ folder=Folder.objects.filter(folder_id=request.POST.get('folder_id')).get(),
|
|
|
+ file_path=file_path,
|
|
|
+ update_time=update_time,
|
|
|
+ file_size=file_size,
|
|
|
+ file_type=file_type)
|
|
|
+ with open(save_path + file_name, 'wb+') as f:
|
|
|
+ for chunk in file_obj.chunks():
|
|
|
+ f.write(chunk)
|
|
|
+ return HttpResponse(status=200)
|
|
|
+ except Exception as e:
|
|
|
+ print(e)
|
|
|
+ return HttpResponse(status=401)
|
|
|
elif request.method == 'GET':
|
|
|
if DEBUG:
|
|
|
return render(request, 'upload_file.html')
|