У меня возникли проблемы с загрузкой облачного Javascript на сервер.Rails: Cloudallery Uploader Not Uploading
Я следовал инструкциям для рельсов из их блоге: http://cloudinary.com/blog/direct_image_uploads_from_the_browser_to_the_cloud_with_jquery
Я закончил с основной кнопкой выбора файла на этой странице. Щелчок, который позволяет мне просматривать и выбирать изображение, но помимо отображения имени файла рядом с кнопкой ничего больше не происходит. После просмотра медиа-библиотеки ничего не было загружено.
Глядя на исходный код страницы для формы я вижу:
<script type="text/javascript">$.cloudinary.config({"api_key":"xxxxxxxxxxxxx","cloud_name":"xxxxxxx"});</script>
<form accept-charset="UTF-8" action="/admin/settings/update" class="new_settings" id="new_settings" method="post"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="✓" /><input name="authenticity_token" type="hidden" value="wwgaFBlShaTklqEY7sz6xwhpK6JKtNNMFvnNJCX4zS0=" /></div>
<input class="cloudinary-fileupload" data-cloudinary-field="settings[image_id]" data-form-data="{"timestamp":1381477800,"callback":"http://127.0.0.1:3000/cloudinary_cors.html","use_filename":1,"folder":"wtdu/header","signature":"xxxxxxxxxx","api_key":"xxxxxxx"}" data-url="https://api.cloudinary.com/v1_1/xxxxxxxx/auto/upload" name="file" type="file"></input>
<input name="commit" type="submit" value="Create Settings" />
</form>
Данные в поле ввода cloudinary было продезинфицировать, это должно произойти?
Я добавил кнопку отправки, но это ни на что не повлияло. Я этого не ожидал, так как изображение должно быть загружено из браузера, а не методом обновления в контроллере.
Просто мысль. Я использую jquery-rails gem. Это правильный jquery gem для использования?
Проекта с использованием Rails 4 и рубина 2.
Любых другие идеи будут оценены.
Edit 1
Благодаря комментариям ниже, я использовал инструменты разработчика. Два результата:
- Проверка сети, при попытке загрузить, никаких действий не произошло.
Хотя все библиотеки, необходимые Cloudinary загружены, нет некоторые ошибки JavaScript
Uncaught TypeError: функциональный объект (селектор, контекст) {вернуть новый jQuery.fn.init (селектор, контекст);} имеет нет метод 'ajaxTransport' jquery.iframe-transport.js: 38
Uncaught TypeError: Невозможно установить свойство 'xhrFileUpload' неопределенных jquery.fileupload.js: 33
Эти включенные JS файлы
<script src="/javascripts/jquery.ui.widget.js"></script>
<script src="/javascripts/jquery.iframe-transport.js"></script>
<script src="/javascripts/jquery.fileupload.js"></script>
<script src="/javascripts/jquery.cloudinary.js"></script>
Edit 2
Оказалось, что jquery.js не включаются, хотя был google.load ("JQuery", "1.2.6"); в источнике страницы.
Как только я включил jquery.js, он начал загружаться в Cloudinary. Спасибо всем за вашу помощь.
Однако у меня все еще есть некоторые проблемы. После того, как добавлена загрузка, возврат 200 OK, я не получаю возвращаемое значение. Идентификатор изображения возвращается пустым, поэтому я не могу сохранить его для последующего использования.
Загружается ли файл на облачный сервер? Если вы откроете вкладку Chrome -> Developer Tools -> Network и нажмите кнопку обзора и выберите файл, он должен показать запрос на загрузку в облачный режим, и ответ будет ключевым. –
В дополнение к комментарию выше, проверьте, есть ли какие-либо ошибки JS на странице и были ли включены все необходимые файлы JS. –
Спасибо за советы. Есть две ошибки: Uncaught TypeError: функция объекта (селектор, контекст) {return new jQuery.fn.init (селектор, контекст);} не имеет метода 'ajaxTransport' jquery.iframe-transport.js: 38 Uncaught TypeError: Can not set property 'xhrFileUpload' из undefined jquery.fileupload.js: 33 –