Я создаю сервис для загрузки изображений с помощью laravel и сохраняю их в корзине aws s3. Эта функция отвечает за сохранение изображений.
public function fromUrl(Request $request)
{
$validator = Validator::make($request->all(), [
'files' => 'required|array|min:1',
'files.*' => 'string',
]);
if (!$validator->fails()) {
$paths = [];
foreach ($validator->validate()['files'] as $file) {
$url = config('services.s3.host') . Storage::disk('s3')->put('images/public', file_get_contents($file), 'public');
array_push($paths, $url);
}
return $paths;
} else {
throw new ValidateException([
'message' => $validator->errors()->toArray(),
'rules' => $validator->failed()
]);
}
}
Тело запроса выглядит следующим образом.
{
"files": [
"https://image-url-1",
"https://image-url-2"
]
}
Я ожидаю, что путь, возвращаемый при сохранении изображения, будет примерно таким.
[
"https://my-bucket-url/images/public/ran ... for-image1",
"https://my-bucket-url/images/public/ran ... for-image2"
]
но вместо этого я получаю следующее.
[
"https://my-bucket-url/1",
"https://my-bucket-url/1"
]
Подробнее здесь: https://stackoverflow.com/questions/611 ... ng-laravel
Путь к файлу, хранящемуся в s3, не совпадает с предоставленным – Использование Laravel ⇐ Php
Кемеровские программисты php общаются здесь
1734501376
Anonymous
Я создаю сервис для загрузки изображений с помощью laravel и сохраняю их в корзине aws s3. Эта функция отвечает за сохранение изображений.
public function fromUrl(Request $request)
{
$validator = Validator::make($request->all(), [
'files' => 'required|array|min:1',
'files.*' => 'string',
]);
if (!$validator->fails()) {
$paths = [];
foreach ($validator->validate()['files'] as $file) {
$url = config('services.s3.host') . Storage::disk('s3')->put('images/public', file_get_contents($file), 'public');
array_push($paths, $url);
}
return $paths;
} else {
throw new ValidateException([
'message' => $validator->errors()->toArray(),
'rules' => $validator->failed()
]);
}
}
Тело запроса выглядит следующим образом.
{
"files": [
"https://image-url-1",
"https://image-url-2"
]
}
Я ожидаю, что путь, возвращаемый при сохранении изображения, будет примерно таким.
[
"https://my-bucket-url/images/public/random-name-for-image1",
"https://my-bucket-url/images/public/random-name-for-image2"
]
но вместо этого я получаю следующее.
[
"https://my-bucket-url/1",
"https://my-bucket-url/1"
]
Подробнее здесь: [url]https://stackoverflow.com/questions/61130870/path-of-the-file-stored-in-s3-does-not-match-with-provided-using-laravel[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия