12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- from django.views.decorators.http import require_http_methods
- from django.views.decorators.csrf import csrf_exempt
- from .models import Files as Files_models
- from admin_site.settings import BASE_DIR
- from admin_site.utils import setError, setSuccess, userPersonToDictionary, is_token
- from admin_site.decorator import my_decorator
- from django.contrib.auth.decorators import login_required
- import os
- from django.http import HttpResponse, Http404, StreamingHttpResponse, JsonResponse
- from .tasks import add, del_file
- from django.core.files.storage import FileSystemStorage
- @csrf_exempt
- @require_http_methods(["POST", "GET"])
- def index(request):
- # print(request.path)
- # login_required(request)
- # print(request.GET.get('token'))
- token = request.GET.get('token')
- print(25, os.getcwd())
- try:
- error = is_token(token)
- print(error)
- # if error:
- # return error
- file_path = os.getcwd() + request.path
- print(file_path)
- response = StreamingHttpResponse(open(file_path, 'rb'))
- response['content_type'] = "application/octet-stream"
- response['Content-Disposition'] = 'attachment; filename=' + os.path.basename(file_path)
- return response
- except Exception:
- raise Http404
- # return HttpResponse(setError("文件不存在 index"))
- @csrf_exempt
- @require_http_methods(["POST", "GET"])
- def info(request):
- return HttpResponse(setError("文件不存在 info"))
- @csrf_exempt
- @require_http_methods(["POST", "GET"])
- def uploadFile(request):
- # print(request.FILES.file)
- # 获取上传的文件对象
- uploaded_file = request.FILES['file']
- # 创建文件存储系统对象并保存文件
- fs = FileSystemStorage()
- file_path = os.path.join(BASE_DIR, 'download', uploaded_file.name)
- file = fs.save(file_path, uploaded_file)
- print(54, file)
- params = {
- # download / python_93040206 - master.zip
- # "file_path": "download/" + uploaded_file.name
- "file_path": file
- }
- file_add = Files_models(**params)
- file_add.save()
- return JsonResponse(setSuccess(msg='更新成功', data=file_add.id));
- @csrf_exempt
- @require_http_methods(["POST", "GET"])
- def test(request):
- # result = waste_time.delay(2, 3)
- # return HttpResponse(result.task_id)
- # return HttpResponse(result.task_id)
- # return HttpResponse(setError("文件不存在 info"))
- result = add.delay(1, 2)
- return HttpResponse(result.get())
- @csrf_exempt
- @require_http_methods(["POST", "GET"])
- def del_file_view(request):
- del_file()
- return JsonResponse(setSuccess(msg='更新成功', data=True))
|