SyntaxError: Неожиданный токен / Загрузка файла Blueimp jQuery

Я установил этот плагин для загрузки нескольких файлов (https://github.com/blueimp/jQuery-File-Upload) на моем локальном компьютере (сервер Mac OSX по умолчанию). Все работает отлично, когда я загружаю изображение, я получаю ответ

[{
"name":"subaru-wrx-poster-i3(1).jpg",      
"size":142583,"type":"image\/jpeg",
"url":"http:\/\/shipwatchpointe.dev\/bundles\/jupload\/uploads\/files\/52\/subaru-wrx-poster-i3%20%281%29.jpg",
"thumbnail_url":"http:\/\/shipwatchpointe.dev\/bundles\/jupload\/uploads\/thumbnails\/52\/subaru-wrx-poster-i3%20%281%29.jpg",
"delete_url":"http:\/\/shipwatchpointe.dev\/upload\/upload\/?file=subaru-wrx-poster-i3%20%281%29.jpg&_method=DELETE",
"delete_type":"POST"
}]

Однако я только что перешел в промежуточную область экземпляра EC2 и теперь получаю этот ответ.

//

С ошибкой на интерфейсе, которая говорит...

SyntaxError: Unexpected token /

Я бросил кучу кубиков везде, о чем только мог подумать, но я не дотягиваюсь до них и все равно получаю тот же ответ. Экземпляр EC2 работает под управлением Ubuntu 12.10, и я убедился, что в /etc/mime.types есть приложение /json json, но по какой-то причине он все еще пытается отобразить его как html и выдает мне эту ошибку. В чем может быть проблема на моем промежуточном сервере, которой нет на моем локальном сервере? Я могу вставить свой код, но есть много фрагментов, которые, как я подозреваю, могут вызывать проблему.

Изменить Вот заголовки ответа на моем локальном сервере (работает нормально)

Accept-Ranges:bytes
Connection:Keep-Alive
Content-Length:1532
Content-Type:image/png
Date:Wed, 03 Apr 2013 18:13:47 GMT
ETag:"30d598-5fc-4d978d09b8a80"
Keep-Alive:timeout=5, max=100
Last-Modified:Wed, 03 Apr 2013 18:13:46 GMT
Server:Apache/2.2.22 (Unix) DAV/2 PHP/5.3.15 with Suhosin-Patch mod_ssl/2.2.22      
   OpenSSL/0.9.8r

Вот заголовки ответов на моем промежуточном сервере (не работает)

Connection:Keep-Alive
Content-Encoding:gzip
Content-Length:23
Content-Type:text/html
Date:Wed, 03 Apr 2013 18:07:24 GMT
Keep-Alive:timeout=5, max=100
Server:Apache/2.2.22 (Ubuntu)
Vary:Accept-Encoding
X-Powered-By:PHP/5.3.10-1ubuntu3.6

person coryj    schedule 31.03.2013    source источник
comment
Какой у вас максимальный размер загружаемого файла? Кроме того, не могли бы вы показать нам заголовки ответов, которые дает вам ваш браузер (это может помочь нам в процессе)?   -  person Mike Rockétt    schedule 03.04.2013
comment
upload_max_filesize = 20M upload_tmp_dir = /tmp file_uploads = Вкл.   -  person coryj    schedule 03.04.2013
comment
Я только что также просмотрел все свои php.ini для обоих серверов, и, я думаю, нет ничего необычного, что могло бы вызвать ошибку. Я изменил максимальный размер загружаемого файла обратно на 2M после попытки 20M и рекомендовал каталог загрузки tmp.   -  person coryj    schedule 03.04.2013
comment
Может быть, это связано с тем, что загруженному изображению присваивается тип содержимого text/html на сервере ubuntu, в то время как локально оно дает тип содержимого image/png?   -  person coryj    schedule 03.04.2013
comment
Это возможно, хотя я не понимаю, как ему можно было придать такой тип. Сначала я подумал, что это проблема совместимости Laravel/BlueImp, учитывая, что он использует header() и echo ... (которые никогда не предназначены для использования), но потом я засомневался, потому что он работает на вашем локальном сервере... Итак, я не совсем уверен, что здесь происходит.   -  person Mike Rockétt    schedule 03.04.2013
comment
Не могли бы вы также опубликовать соответствующие журналы ошибок, если таковые имеются? Ошибки Apache, журналы BlueImp и т. д.   -  person Mike Rockétt    schedule 03.04.2013
comment
Журнал ошибок апача чист. Я не уверен, есть ли где-нибудь журнал ошибок blueimp.   -  person coryj    schedule 04.04.2013
comment
Я вижу, что длина контента отличается от длины вывода, указанного в вашем вопросе. Это действительно все? Не могли бы вы проверить с помощью инструмента отладки или консоли вашего браузера?   -  person Mike Rockétt    schedule 04.04.2013
comment
оказалось, что у меня был файл с именем «загрузить» с закомментированным кодом вроде такого // ‹?php .., который был предыдущей попыткой загрузки изображений. Мой запрос настроен следующим образом /upload/upload .. и он каким-то образом нажал /upload, не прошел и показал эту ошибку. Как только я удалил этот файл, у меня были некоторые ошибки библиотеки gd, но это было просто, и я только что обновил свой сервер, и он работает! Не могу поверить, что такая простая вещь прошла мимо меня, мне жаль тратить время. @MikeAnthony, ты был самой большой помощью, когда я прошел и начал устранять неполадки, поэтому, если ты ответишь, я дам тебе награду.   -  person coryj    schedule 05.04.2013


Ответы (4)


Здесь может быть проблема с чтением файлов. Проверьте/Grep ваш промежуточный сервер на наличие любых исходных файлов, которые имеют двойную косую черту // в странных местах (скажем, в начале файла PHP).

Возможно, он запускается в этот файл, ошибочно печатая эти косые черты и заканчивая вывод.

Если это так, код BlueImp, скорее всего, не будет виден сервером, отсюда и все эти простые и простые выходные заголовки, которые не имеют абсолютно никакого отношения к загрузке.

person Mike Rockétt    schedule 05.04.2013

https://github.com/blueimp/jQuery-File-Upload/wiki/Setup

Использование jQuery File Upload (версия пользовательского интерфейса) на веб-сайтах PHP. Предоставленный пример реализации работает «из коробки», и вам нужно всего лишь один шаг, чтобы добавить его на ваш веб-сайт на основе PHP:

Загрузите архив плагина, распакуйте его и загрузите извлеченную папку (вы можете переименовать ее) на свой сервер. Посетите загруженный каталог — вы должны увидеть тот же интерфейс загрузки файлов, что и в демо, что позволит вам загружать файлы на ваш веб-сайт.

Если загрузка файлов не работает, убедитесь, что права доступа к каталогам php/files и php/thumbnails разрешают вашему серверу доступ на запись.

Вы уверены, что у вас есть правильные разрешения для «php/files» и «php/thumbnails»?

Это действительно единственные инструкции по установке, которые я смог найти. Вы просто скопировали файлы на свой сервер или используете собственную реализацию? Иногда полезно начать с самого простого примера, а затем добавлять свои вещи, чтобы исключить некоторые из наиболее очевидных проблем.

Если вы изменили код, полезно взглянуть на ваши изменения, возможно, там есть что-то, что вызывает проблему.

person Drew Khoury    schedule 03.04.2013
comment
файлы и эскизы - все 777... Я использую этот плагин с Laravel. Я думаю, что сделаю суть своей реализации кода - person coryj; 03.04.2013

Ваш тип контента выглядит по-разному на локальном и веб-сервере. Похоже, это может быть неправильно настроенный веб-сервер.

person Drew Khoury    schedule 03.04.2013
comment
Я бы тоже так подумал. @coryjacik, есть ли какие-нибудь другие странные ошибки на вашем промежуточном сервере? Все остальное работает? - person Mike Rockétt; 04.04.2013

У вашей папки загрузки есть разрешение на запись?

person Shamoon    schedule 01.04.2013
comment
777 наверное перебор, но все равно - person Joe Frambach; 03.04.2013