Fineuploader и rails 3.2 - индикатор выполнения не работает

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

POST http://testevent.xavy.dev/video.json?qqfile=Kitten+Wearing+a+Tiny+Hat+-+Audition+Outtakes+(tuvideo.matiasmx.com).mp4 404 (Not Found) fineuploader.jquery.js:2383
qq.extend._upload fineuploader.jquery.js:2383
qq.UploadHandlerAbstract.upload fineuploader.jquery.js:1986
qq.FineUploaderBasic._uploadFile fineuploader.jquery.js:946
qq.FineUploaderBasic._uploadFileList fineuploader.jquery.js:926
qq.FineUploaderBasic.addFiles fineuploader.jquery.js:737
qq.FineUploaderBasic._onInputChange fineuploader.jquery.js:855
qq.UploadButton.onChange fineuploader.jquery.js:748
(anonymous function) fineuploader.jquery.js:557
[FineUploader] Error when attempting to parse xhr response text (SyntaxError: Unexpected token <) fineuploader.jquery.js:157
qq.log fineuploader.jquery.js:157
qq.FineUploaderBasic.log fineuploader.jquery.js:667
qq.extend._onComplete fineuploader.jquery.js:2406
xhr.onreadystatechange fineuploader.jquery.js:2345

Я следовал их инструкциям по настройке:

  $(".videos-fine-uploader").fineUploader
    request:
      endpoint: "/video.json"

    debug: truedebug: true

Я думаю, что ошибка связана с конечной точкой, которая указывает jQuery на маршрут. Однако какой бы маршрут я ни указывал, он не работает. Что мне нужно сделать, так это поставить следующие (успешные) параметры, но я понятия не имею, как это сделать, даже после прочтения более десятка различных ответов и руководств SO со всего Интернета.

Started POST "/videos" for 127.0.0.1 at 2012-12-22 18:26:07 +0000
Processing by VideosController#create as HTML
  Parameters: {"utf8"=>"✓", "authenticity_token"=>"lg/*******=", "video"=>{"title"=>"test", "industry_list"=>"", "speaker_list"=>"", "theme_list"=>"", "description"=>"test", "user_id"=>"", "video_url"=>#<ActionDispatch::Http::UploadedFile:0x007fe2018a2d58 @original_filename="Kitten Wearing a Tiny Hat - Audition Outtakes (tuvideo.matiasmx.com).mp4", @content_type="video/mp4", @headers="Content-Disposition: form-data; name=\"video[video_url]\"; filename=\"Kitten Wearing a Tiny Hat - Audition Outtakes (tuvideo.matiasmx.com).mp4\"\r\nContent-Type: video/mp4\r\n", @tempfile=#<File:/var/folders/jl/nqsrgwy973j73gnj4j1hd2hc0000gn/T/RackMultipart20121222-14651-1824c66>>}, "commit"=>"Create Video"}

Может ли кто-нибудь посоветовать мне лучшие следующие шаги, чтобы заставить это работать?

Спасибо


person jfdimark    schedule 23.12.2012    source источник
comment
так как вы определили этот маршрут?   -  person phoet    schedule 23.12.2012


Ответы (2)


Это не имеет ничего общего с полосами прогресса. Я не уверен, почему в заголовке вашего вопроса это упоминается. Как вы подозревали, вы просто указываете неправильную конечную точку. Никто не может помочь вам исправить это. Вам просто нужно выяснить правильный адрес сервера, который будет обрабатывать запросы, и ввести его в качестве конечной точки.

person Ray Nicholus    schedule 23.12.2012
comment
Спасибо, Рэй. Это jQuery, о котором вы заботитесь, верно? Знаете ли вы какие-либо примеры его реализации для рельсов? - person jfdimark; 23.12.2012
comment
Да, я обслуживающий персонал. Обратите внимание, что Fine Uploader не является библиотекой jQuery. Я просто создал необязательную оболочку для тех, кто хочет беспрепятственно интегрировать Fine Uploader в свой проект jQuery. У меня нет прямого опыта работы с рельсами, но есть вики-страница, посвященная рельсам в вики-проекте Fine Uploader на Github, которая может быть вам полезна. Я не могу проверить его точность. Если вы столкнетесь с проблемами, публикация на форумах поддержки вопросов, касающихся рельсов, может принести некоторые плоды. - person Ray Nicholus; 10.07.2013

Я думаю, вам просто нужно написать:

$(".videos-fine-uploader").fineUploader
  request:
    endpoint: "/videos"
person nathanvda    schedule 09.01.2013
comment
Спасибо Натанвда - это не сработало. Сложность заключалась в том, как контроллер видео был настроен для работы с bitsontherun, а Fineuploader требует, чтобы конечная точка запроса была установлена ​​при его создании, но поскольку загрузка происходила после первого вызова ajax, это невозможно. Изменить его сложно, потому что он не ожидает, что он изменится. У меня было 3 профессиональных программиста, пытавшихся это сделать, и третий, наконец, заработал индикатор выполнения, но не с Fineuploader. - person jfdimark; 10.01.2013
comment
Хорошо, я не совсем это понимаю. Как конечная точка может быть недоступна при ее создании? Но, возможно, вы имеете в виду, что URL-адрес не фиксирован. Что бы ни. Мне интересно узнать, какое решение вы тогда использовали? - person nathanvda; 10.01.2013