Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

POST form data are lost when using chunk mode of blueimp-jQuery-File-Upload #129

Open
davidchern opened this issue Feb 25, 2020 · 1 comment

Comments

@davidchern
Copy link

The Nginx server is compiled with the latest version of nginx-upload-module, no other modules compiled with.

When configuration is set as below:

    location /uploads {
          upload_max_file_size     50m;
          send_timeout             120s;
          client_body_timeout      360s;
          upload_buffer_size       256k;

          proxy_max_temp_file_size 0;
          proxy_buffering          off;

          add_header            Pragma no-cache;
          add_header            X-Content-Type-Options nosniff;
          add_header            Access-Control-Allow-Credentials "true";
          add_header            Access-Control-Max-Age 1200;
          upload_resumable      on;
          upload_pass_args      on;
          upload_state_store    /var/www/files/state;
          upload_store          /var/www/files/upload;
          upload_store_access   user:rw group:rw all:rw;

          upload_set_form_field $upload_field_name.name "$upload_file_name";
          upload_set_form_field $upload_field_name.content_type "$upload_content_type";
          upload_set_form_field $upload_field_name.path "$upload_tmp_path";
          upload_aggregate_form_field "$upload_field_name.sha256" "$upload_file_sha256";
          upload_aggregate_form_field "$upload_field_name.size" "$upload_file_size";
          upload_pass_form_field "^type$";
          upload_pass_form_field "^^file_id$";
          upload_cleanup         400 404 499 500-505;
          upload_pass           /upload/backend/;
    }

as well as typical configuration of blueimp-jQuery-File-Upload with chunk upload model, weird thing happens:

All data in form fields are missing, except for values from upload_set_form_field. To be detailed, upload_aggregate_form_field and upload_pass_form_field are all lost when the POST request is passed to the backend (written with Django 2.2).

One record from Django log file is like this:

2020-02-25 13:33:31,762 INFO: POST: <QueryDict: {'.name': ['abc_test.pdf'], '.content_type': ['application/pdf'], '.path': ['/var/www/files/upload/9cb5e5d5e4b4c2ed806b06758da4006f'], '.sha256': [''], '.size': ['570652']}>

I have tried many options of both nginx-upload-module and blueimp-jquery-upload, but failed at all.

Could any guy help me with it? Thank you in advance!

@davidchern
Copy link
Author

Well, even if I can pass the form data via another AJAX post or via http headers data, the hash value (like $upload_file_sha256) from upload_aggregate_form_field is lost. This should be a bug.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant