Загрузка файла jQuery не сохраняет имя файла, но другие

Я хочу загрузить изображение в локальный каталог на моем локальном хосте. Вот что я делаю:

$('#fileupload').fileupload({
    dataType: 'json',
    add: function (e, data) {
        $("#submitentity").on('click', function () {
            data.submit();
        });
    },
    done: function (e, data) {
        console.log(data);
    }
});

Как вы можете видеть, когда загрузка завершена, я регистрирую данные. Результатом являются объекты (файлы):

files: Array[1]
   0: File
       lastModifiedDate: Fri Aug 30 2013 11:00:12 GMT+0200 (CEST)
       name: "Woof.gif"
       size: 1820
       type: "image/gif"
       webkitRelativePath: ""

Как видите, файл называется "Woo.gif". Но когда я проверяю папку для загрузки, изображение сохраняется, НО имя файла изменяется на "52c87669bbfe0.gif". Как это происходит?

Мой загружаемый файл в поле зрения:

<input class="form-control" id="fileupload" type="file" name="files[]" data-url="{{ oneup_uploader_endpoint('gallery') }}" multiple />

Я использую подключаемый модуль загрузки файлов jquery, который можно найти здесь.


person nielsv    schedule 04.01.2014    source источник
comment
Пожалуйста, поделитесь кодом, который вы использовали для сохранения файла в каталоге   -  person Robbert    schedule 05.01.2014
comment
Это код. Я использую загрузку файла jquery. Базовая реализация здесь github.com/blueimp/jQuery-File-Upload/wiki /Базовый-плагин   -  person nielsv    schedule 05.01.2014
comment
Некоторый код на сервере (я полагаю, PHP) должен быть выполнен для сохранения файла. это то, что вы должны хранить. Я предполагаю, что там есть ошибка, из-за которой сохраняется неправильное имя файла.   -  person Robbert    schedule 05.01.2014
comment
Проверьте ссылку в моем комментарии, код на стороне сервера не требуется.   -  person nielsv    schedule 05.01.2014
comment
есть действие формы перед управлением входным файлом. где его файл действий (php)?   -  person Gun2sh    schedule 05.01.2014
comment
Используете ли вы фреймворк на стороне сервера?   -  person Fractaliste    schedule 06.01.2014


Ответы (1)


Я использовал oneupuploaderbundle от Symfony2, и они создали имя в файле с именем 'UniqidNamer.php'. Оригинальный код:

<?php

 namespace Oneup\UploaderBundle\Uploader\Naming;

 use Oneup\UploaderBundle\Uploader\File\FileInterface;

 class UniqidNamer implements NamerInterface
 {
     public function name(FileInterface $file)
     {
        return sprintf('%s.%s', uniqid(), $file->getExtension());
     }
 }

Я изменил свои собственные настройки имени файла.

person nielsv    schedule 07.01.2014
comment
Я надеюсь, что вы не изменили оригинальный исходный код, так как вы можете зарегистрировать свое собственное имя файла, зарегистрировав его в конфигурации. github.com/1up-lab/OneupUploaderBundle/blob/ мастер/Ресурсы/ - person devsheeep; 19.01.2014
comment
Да, действительно, я использовал пользовательский неймер. - person nielsv; 20.01.2014