2010-02-14 3 views
4

Я попытался по примеру по адресу: http://www.plupload.com/example_custom.phpPlupload работает с Ruby on Rails?

Но в запросе, файл не передается методу контроллера, только имя.

Может быть, мне нужно установить в конфигурации Plupload, что-то вроде «многоголосных = истина»

Любая идея?

+0

Можете ли вы дайте нам знать, что URL вы пытаетесь использовать для формы - и то, что имена контроллеров + метода? –

+0

Контроллер - admin/file_controller.В plupload я установил: url: '/ admin/file/upload' – Sebtm

+0

Plupload имеет поддержку для chunking, которая требует особого внимания на сервере. Окончательный файл должен быть в основном сконструирован вручную из отдельных фрагментов (примером такого обработчика на стороне сервера является включен в пакет Plupload). В противном случае - да, вы можете в принципе установить - multipart на true, и вы получите стандартную загрузку. – jayarjo

ответ

1

У меня нет опыта работы с Plupload. Я не думаю, что вам нужно будет явно иметь дело с многостраничными загрузками в конфигурации плагина. (Это все-таки библиотека загрузчика файлов.) Не поймите меня неправильно, но у вас есть атрибут multipart, равный true в разметке html?

+0

Обычно в обычной форме загрузки я пишу ': html => (: multipart => true)'. Например, для SWFUpload (http://swfupload.org/) я должен указать в своей конфигурации post_params :("authenticity_token": "<% = form_authenticity_token%>"} ', в противном случае я получаю сообщение об ошибке. Plupload в журналах rails У меня нет ошибки, с Firebug Я вижу, что файл отправляется на контроллер, но когда я вызываю «logger.debug params.inspect», у меня есть только имя файла. – Sebtm

0

W3C заявляет об этом для загрузки файла ...

<FORM action="http://server.com/cgi/handle" 
     enctype="multipart/form-data" 
     method="post"> 
    <P> 
    What is your name? <INPUT type="text" name="submit-name"><BR> 
    What files are you sending? <INPUT type="file" name="files"><BR> 
    <INPUT type="submit" value="Send"> <INPUT type="reset"> 
</FORM> 
0

Можем ли мы увидеть немного больше кода. Там многое может пойти не так.

Кроме того, вы можете использовать отладчик после отправки формы и вывести здесь вывод параметров?

J

P.s. Кстати, пытался сделать этот комментарий, но не идти ...

+0

У вас должна быть репутация выше 50 комментариев оставить –

+0

Gotcha, при репутации 47 я не могу доверять :) –

0

Несколько «любой» идея ... :-p

  1. Есть ли шанс, что файл вы пытаетесь загрузить получает отфильтрован какой-либо функцией безопасности в Rails, сервером-прокси-сервером (apache?) или даже некоторым программным обеспечением для клиентов?

  2. Вы пробовали разные браузеры, чтобы убедиться, что это не проблема клиентов? (обнюхивание вашего сетевого подключения может быть другим способом проверить, действительно ли файл отправляется на сервер)

  3. Если вы используете стойку, то есть некоторое промежуточное программное обеспечение, которое может заботиться о загрузке файлов для вас. Не то, что вы хотели, но, возможно, полезно в качестве временного обходного пути, ожидая на случай, если вы обнаружите, что вам придется ждать исправления ошибок в rails или plupload.

  4. Права на папку, в которую должны быть отправлены загруженные файлы? Или они сначала идут в память и записываются на диск позже? Возможно, библиотека plupload использует временные файлы где-то, и разрешения там не работают.

+0

Также возможно привести: «имена варсов должны быть именем и куском» - предположительно, ваши переменные рельсов? На самом деле я не получаю сообщение об ошибке: http://github.com/moxiecode/plupload/issuesearch?state=open&q=rails#issue/5 –

2

Вопрос был веками тому назад. Но ответят за других людей, которые ищут решение.

Решение этого вопроса заключается в добавлении «multipart: true» в вашу функцию pluploadQueue ({}). Это отправит файл как multipart. Для нескольких файлов он будет отправлять/POST запрос несколько раз. Тогда вы можете справиться с этим на своем контроллере.

Надеюсь, это поможет.

Jas

+0

Как изменить имя файла с именем param? По умолчанию используется «файл». Может ли это быть изменено на какой-то пользовательский параметр? Любой вариант конфигурации, доступный для этого? –

+0

Да, есть опция file_data_name. – jayarjo