2014-12-05 6 views
1

Я использую FineUploader для загрузки на S3. У меня есть все, включая удаление. Тем не менее, когда я загрузить большие файлы, которые ломаются в загрузки нескольких частей, я получаю следующее сообщение об ошибке в консоли (отладка включена):FineUploader - Ошибка при многостраничной загрузке на S3

Specific problem detected initiating multipart upload request for 0: 'The request signature we calculated does not match the signature you provided. Check your key and signing method.'. 

Может кто-то мне точку в правильном направлении, что я должен проверить для настроек или какой дополнительной информации вам может понадобиться?

+0

Вы должны будете предоставить много больше информации. Например, как выглядит запрос? Какую версию Fine Uploader вы используете? Какие параметры связаны с файлом? –

ответ

2

Поскольку вы не указали что-либо действительно определенное для вашей установки, кода или запроса на отказ, я думаю, что ваш сервер не возвращает правильный ответ подписи для загрузок, сделанных в API SEST REST (который используется для больших файлов). Вам нужно будет просмотреть эту процедуру для генерации ответа на этот запрос подписи типа.

Вот соответствующий раздел из Fine Uploader's S3 documentation:

Fine Uploader S3 использует Amazon S3 в REST API, чтобы инициировать, загружать, полный, и прервет многокомпонентные загрузки. API REST обрабатывает аутентификацию , подписывая канонически отформатированные заголовки. Это подписание - это то, что вам нужно для реализации на стороне сервера. Все, что требуется вашему серверу , чтобы выполнить аутентификацию и поддержку отдельных загруженных загрузок прямо на Amazon S3 представляет строку, представляющую заголовки запроса, который Fine Uploader отправляет на S3. Эта строка находится в полезной нагрузке запроса подписи:

{ «заголовки»:/* строка подписать * /}

Наличие этого свойства указывает на ваш разъединяет, что это, в самом деле , запрос подписать REST/multipart запрос, а не документ .

Эта подпись для строки заголовков немного отличается от политики подпись документа. Вы не должны base64 кодировать строку заголовков перед ее подписанием. Все, что вы должны сделать, на стороне сервера, генерирует подпись HMAC SHA1 строки, используя секретный ключ AWS, а затем base64 кодирует результат. Ваш сервер должен отвечать следующим в теле «приложения/JSON» ответ:

{ «подпись»:/* Подписанные заголовки строк * /}

Смежные вопросы