Я пытаюсь выяснить, как загрузить файл из IOS в Laravel Vapor с помощью AlamoFire. О том, как этого добиться, мало информации.
Существует файл npm со следующим, казалось бы, простым кодом.
const axios = require('axios')
class Vapor
{
/**
* Store a file in S3 and return its UUID, key, and other information.
*/
async store(file, options = {}) {
const response = await axios.post('/vapor/signed-storage-url', {
'bucket': options.bucket || '',
'content_type': options.contentType || file.type,
'expires': options.expires || '',
'visibility': options.visibility || ''
}, {
baseURL: options.baseURL || null,
headers: options.headers || {}
});
let headers = response.data.headers;
if ('Host' in headers) {
delete headers.Host;
}
if (typeof options.progress === 'undefined') {
options.progress = () => {};
}
const cancelToken = options.cancelToken || ''
await axios.put(response.data.url, file, {
cancelToken: cancelToken,
headers: headers,
onUploadProgress: (progressEvent) => {
options.progress(progressEvent.loaded / progressEvent.total);
}
})
response.data.extension = file.name.split('.').pop()
return response.data;
}
}
module.exports = new Vapor();
Как это можно перевести на AlamoFire, мне не по силам. Я нигде не смог найти никакой информации о собственных мобильных загрузках на laravel паровой сервер.
Любая помощь или руководство приветствуются.