2009-12-16 5 views
1

можно загружать файлы из формы с помощью поста, но я стараюсь, чтобы узнать, как добавить дополнительные поля в форме т.е. Описание файла, тип и т.д.Amazon S3 загрузок файла

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

Заранее спасибо

+0

Вы используете API-интерфейс Amazon S3? Используете ли вы какие-либо библиотеки PHP для доступа к этому API? –

+0

Я загружаю непосредственно на s3, используя пост –

ответ

2

В отношении загрузки нескольких файлов, вы загрузки непосредственно на S3 с помощью POST или размещения на s3 с помощью CURL или аналогичный экспромты из вашего собственного сервера?

Почему вы добавляете эти дополнительные входы? Если вы отправляете сообщения непосредственно на S3, вы не можете публиковать какие-либо входы, которые не указаны в качестве обязательных или необязательных в документации S3. Любые элементы формы, которые не начинаются с «x-ignore-» и не требуются/необязательны для загрузки S3 post, приведут к ошибке, возвращаемой с S3, без загрузки вашего файла. Если у вас есть элементы в форме, которые могут вызвать эту ошибку, и они важны оставить в форме до ее отправки (используется как вход для вызова ajax и т. Д.), Просто добавьте имя этих элементов формы с помощью «x -ignore- "или удалить их из формы.

У вас есть контроль над несколькими вещами, такими как имя, в котором подан файл, и введите, используя элементы Content-Type и Content-Disposition. Взгляните на это: http://developer.amazonwebservices.com/connect/entry.jspa?externalID=1434

+0

Мне нужны дополнительные поля для вставки данных о файле в базу данных mysql, и я загружаю их непосредственно на s3, используя пост. –

+0

Есть два способа сделать это, если вы хотите иметь поля формы, которые вам нужны, в той же форме, что и форма загрузки амазонки. В любом случае у вас должен быть крючок javascript для отправки формы. Первый способ, которым вы могли бы это сделать, - использовать строго JS для захвата необходимых элементов и форматирования их в строку стиля GET, а затем добавить это к концу URL-адреса возврата, который вы укажете в POST-амазонке. Затем, когда вызывается этот сценарий возврата, у вас есть значения, введенные пользователем в строку запроса для работы. – eCaroth

+0

Во-вторых, вы можете использовать JS для получения значений из поля и использовать AJAX для получения этой информации в вашей базе данных до того, как форма фактически отправится в Amazon. В любом случае вам придется либо удалить поля, либо добавить имена с «x-ignore-» перед отправкой на амазонку или вы получите сообщение об ошибке. – eCaroth

0

Вы можете добавить свою дополнительную информацию в «возвращаемый url», который вы отправляете вместе с вашим запросом на Amazon.

Имейте в виду, что при этом пользователю может быть предоставлена ​​конфиденциальная информация о вашей логике приложения в виде URL-адреса. Одна вещь, которую вы можете сделать, чтобы избежать/скрыть это, - это захватить все возвращаемые переменные GET, сохранить их и перенаправить пользователя на итоговую страницу.

Это не будет блокировать более интеллектуальную форму пользователей, изучая ваши переменные GET, но скроет их от 99% населения.

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