Módulo de upload Nginx e nomes de arquivos

1

Eu tenho uma pergunta sobre o módulo de upload do nginx e os nomes dos arquivos:

2013/02/05 21:01:55 [info] 23432#0: *5 started uploading file "kvm.pdf" to "/var/www/html/0000000004" (field "file[]", content type "application/pdf"), client: 127.0.0.1, server: , request: "POST /upload/share?X-Progress-ID=0520d308f3b8c4ee5d03b20301416031 HTTP/1.1", host: "localhost", referrer: "***/upload/share?X-Progress-ID=4113dd986661cafbb8cfeede98d9dba2"
2013/02/05 21:01:55 [info] 23432#0: *5 finished uploading file "kvm.pdf" to "/var/www/html/0000000004", client: 127.0.0.1, server: , request: "POST /upload/share?X-Progress-ID=0520d308f3b8c4ee5d03b20301416031 HTTP/1.1", host: "localhost", referrer: "***/upload/share?X-Progress-ID=4113dd986661cafbb8cfeede98d9dba2"

Enviei o arquivo kvm.pdf, mas ele foi salvo como 0000000004, o que não é uma boa ideia. Pode ser alterado para armazenar arquivos com nomes originais?

upload_set_form_field $upload_field_name.name "$upload_file_name";
upload_set_form_field $upload_field_name.content_type "$upload_content_type";

Estas linhas estão incluídas na configuração, mas não estão funcionando.

    
por Valintinr 05.02.2013 / 20:12

1 resposta

0

Você não está usando o módulo de upload corretamente. Na documentação do módulo de upload :

The module parses request body storing all files being uploaded to a directory specified by upload_store directive. The files are then being stripped from body and altered request is then passed to a location specified by upload_pass directive, thus allowing arbitrary handling of uploaded files. Each of file fields are being replaced by a set of fields specified by upload_set_form_field directive. The content of each uploaded file then could be read from a file specified by $upload_tmp_path variable or the file could be simply moved to ultimate destination.

O módulo de upload cuida do upload real dos dados do arquivo, mas passa o controle para outro local (que você fornece), que cuida do processamento real dos dados carregados. O arquivo 0000000004 é temporário - se você quiser armazenar permanentemente os arquivos enviados, deverá fornecer um script que mova esse arquivo temporário para o local final. Você pode nomear o arquivo como quiser nesse script.

    
por 05.02.2013 / 20:28

Tags