Django chunked upload в IIS

Я загрузил программу, на которой приложение django используется для загрузки файлов и использовал для этого chunk file uploads (с blueimp fileupload на стороне JS).

Когда я тестировал свое приложение локально, оно работает. Когда я делаю это на IIS production, я всегда получаю эту ошибку:

POST http://URL/api/chunked_upload/ 500 (Внутренняя ошибка сервера)

Логи в IIS также не помогли.

JS Code:

$('#fileUpload').fileupload({
        url: window.location.href + 'api/chunked_upload/',
        dataType: "json",
        maxChunkSize: 100000, // Chunks of 100 kB
        formData: form_data,
        type: 'POST',
        add: function (e, data) {
            form_data.splice(1);
            calculate_md5(data.files[0], 100000);
            $("#submitButton").off('click').on("click", function () {
                showLoading()
                data.submit();
            });
        },
      chunkdone: function (e, data) { // Called after uploading each chunk
        if (form_data.length < 2) {
          form_data.push(
            {"name": "upload_id", "value": data.result.upload_id}
          );
        }
      },
      done: function (e, data) { // Called when the file has completely uploaded
        let formInput;
        $.ajax({
          type: "POST",
          url: window.location.href + 'api/chunked_upload_complete/',
          data: {
            csrfmiddlewaretoken: csrf,
            upload_id: data.result.upload_id,
            md5: md5
          },
          dataType: "json",
          success: function(data) {
                inputForm = document.getElementById('ddGraderForm')
                document.getElementById('id_formFile').value = data['file']
                inputForm.submit()
             }
        });
      },
    });

Django urls

urlpatterns = [
    path('', views.webinterfaceViews, name='main'),
    path('api/chunked_upload_complete/', FastaFileUploadCompleteView.as_view(), name='api_chunked_upload_complete'),
    path('api/chunked_upload/', FastaFileUploadView.as_view(), name='api_chunked_upload'),
]

Django view


class FastaFileUploadView(ChunkedUploadView):

    model = fileUpload

    def check_permissions(self, request):
        # Allow non authenticated users to make uploads
        pass

class FastaFileUploadCompleteView(ChunkedUploadCompleteView):

    model = fileUpload

    def check_permissions(self, request):
        # Allow non authenticated users to make uploads
        pass

    def on_completion(self, uploaded_file, request):
        # Do something with the uploaded file. E.g.:
        # * Store the uploaded file on another model:
        # SomeModel.objects.create(user=request.user, file=uploaded_file)
        # * Pass it as an argument to a function:
        # function_that_process_file(uploaded_file)
        pass

    def get_response_data(self, chunked_upload, request):
        return {'file': chunked_upload.file.name, 'filename': chunked_upload.filename}
Вернуться на верх