Я написал крошечную веб-аппликацию на питоне, которая позволяет мне просматривать мои ведра S3. Веб-приложение работает внутри Google App Engine.Легкий способ загрузки файлов на S3 через HTTP-форму
Теперь я хочу создать html-форму для этой веб-приложения, которая позволяет загружать файл в ведро.
Эти данные уже находятся в форме: AWSAccessKeyId и название ведра.
Я хочу, чтобы ИМЯКЛАВИШИ это имя файла, который выбирается пользователем с помощью <input name="file" type="file">
Другая проблема заключается в: Можно ли создать содержание (скрытых) входных тегов policy
и signature
перед файл выбран?
Я хочу решить эту проблему только с помощью HTML и Python. Нет JavaScript.
Возможно ли это?
Я знаю этот документ. Но у меня все еще есть одна проблема. Мне нужно два шага, чтобы загрузить файл на S3. Во-первых, у меня есть HTML-форма, в которой выбран файл. Во-вторых, мне нужно Base64-кодировать документ политики и вычислять значение подписи с помощью python. Эти значения включены в форму html (?), После чего пользователь должен снова отправить документ. Пользователю необходимо «отправить» файл два раза? – Neverland
Снова прочитайте раздел о имени поля 'key'. Вы можете использовать специальный токен '$ {filename}', чтобы S3 установил имя файла, которое пользователь загружает, поэтому нет необходимости отправлять файл дважды. Вам нужно только один раз подписать форму и использовать ее снова и снова, пока вы не нажмете установленную вами дату истечения срока действия. – dar
Теперь у меня есть эта строка внутри моего документа политики: ["eq", "$ key", "$ {filename}"]. Но в результате получилось следующее: AccessDenied: недействителен в соответствии с политикой: состояние политики не выполнено: ["eq", "$ key", ""] – Neverland