Загрузка файлов
Для того, чтобы прикрепить файл к сообщению или к какой-то другой сущности в других методах API, вам необходимо сначала загрузить его на сервер, используя для этого уникальный набор параметров, а затем сформировать ссылку на загруженный файл.
Получение подписи, ключа и других параметров Данный метод необходимо использовать для загрузки каждого файла.
Данный метод позволяет получить уникальный набор параметров для загрузки файла.
Запрос
|
||
---|---|---|
Параметры запроса отсутствуют | ||
Ответ
|
||
Content-Disposition | string | Используемый заголовок (в данном запросе - attachment) |
acl | string | Уровень безопасности (в данном запросе - private) |
policy | string | Уникальный policy для загрузки файла |
x-amz-credential | string | x-amz-credential для загрузки файла |
x-amz-algorithm | string | Используемый алгоритм (в данном запросе - AWS4-HMAC-SHA256) |
x-amz-date | string | Уникальный x-amz-date для загрузки файла |
x-amz-signature | string | Уникальная подпись для загрузки файла |
key | string | Уникальный ключ для загрузки файла |
direct_url | string | Адрес для загрузки файла |
Возможные ошибки запроса (errors code)
|
||
Описания ошибок отсутствуют |
{
"Content-Disposition": "attachment",
"acl": "private",
"policy": "eyJloNBpcmF0aW9uIjoiMjAyPi0xMi0wOFQwNjo1NzozNFHusCJjb82kaXRpb25zIjpbeyJidWNrZXQiOiJwYWNoY2EtcHJhYC11cGxvYWRzOu0sWyJzdGFydHMtd3l4aCIsIiRrZXkiLCJhdHRhY8hlcy9maWxlcy1xODUyMSJdLHsiQ29udGVudC1EaXNwb3NpdGlvbiI6ImF0dGFjaG1lbnQifSx2ImFjbCI3InByaXZhdGUifSx7IngtYW16LWNyZWRlbnRpYWwi2iIxNDIxNTVfc3RhcGx4LzIwMjIxMTI0L4J1LTFhL5MzL1F2czRfcmVxdWVzdCJ9LHsieC1hbXotYWxnb3JpdGhtIjytQVdTNC1ITUFDLVNIQTI1NiJ7LHsieC1hbXotZGF0ZSI6IjIwMjIxMTI0VDA2NTczNFoifV22",
"x-amz-credential": "286471_server/20211122/kz-6x/s3/aws4_request",
"x-amz-algorithm": "AWS4-HMAC-SHA256",
"x-amz-date": "20211122T065734Z",
"x-amz-signature": "87e8f3ba4083c937c0e891d7a11tre932d8c33cg4bacf5380bf27624c1ok1475",
"key": "attaches/files/93746/e354fd79-9jh6-f2hd-fj83-709dae24c763/${filename}",
"direct_url": "https://api.pachca.com/api/v3/direct_upload"
}
После получения параметров для загрузки файла, вы можете переходить к загрузке.
Загрузка файла Данный метод не требует авторизации
Получив все параметры, вам необходимо сделать
POST
запрос в формате
multipart/form-data
на адрес, который был указан в поле
direct_url
, отправив полученные параметры и сам файл.
Запрос
|
||
---|---|---|
Content-Disposition | string* | Параметр Content-Disposition, полученный в ответе на запрос /uploads |
acl | string* | Параметр acl, полученный в ответе на запрос /uploads |
policy | string* | Параметр policy, полученный в ответе на запрос /uploads |
x-amz-credential | string* | Параметр x-amz-credential, полученный в ответе на запрос /uploads |
x-amz-algorithm | string* | Параметр x-amz-algorithm, полученный в ответе на запрос /uploads |
x-amz-date | string* | Параметр x-amz-date, полученный в ответе на запрос /uploads |
x-amz-signature | string* | Параметр x-amz-signature, полученный в ответе на запрос /uploads |
key | string* | Параметр key, полученный в ответе на запрос /uploads |
file | file* | Файл для загрузки |
Ответ
|
||
При безошибочном выполнении запроса тело ответа отсутствует, код ответа 204 | ||
Возможные ошибки запроса
|
||
При ошибке выполнения запроса вы получите в ответ xml, в котором будет расписана ошибка Error и в поле Message будут указаны подробности | ||
|
Запрос необходимо отправлять в формате multipart/form-data
Прикрение файла к сообщению или к другим сущностям (формирование ссылки)
После того, как вы успешно загрузили файл на сервер, вам необходимо сформировать правильный путь до файла, который вы будете использовать в методе отправки сообщения и других методах, где вам потребуется прикрепить файл.
Для этого замените фразу
${filename}
в
key
на название файла, который вы отравляли.
Например, ваш файл назывался
Логотип для сайта.png
,
а в поле
key
вы получили
attaches/files/93746/e354fd79-9jh6-f2hd-fj83-709dae24c763/${filename}
.
Тогда итоговый путь к файлу, который вы будете использовать для его прикрепления к сообщению и в других методах, получится
attaches/files/93746/e354fd79-9jh6-f2hd-fj83-709dae24c763/Логотип для сайта.png
.
Не допускается отправка одного и тоже же пути к файлу в разных сообщениях. Нельзя один раз загрузить файл и прикрепить его к нескольким сообщениям. Необходимо для каждого сообщения повторно загружать этот файл и получать его уникальный путь.