私のアプリケーションには、ユーザーが画像や動画をアップロードできるメディアアップロード機能が含まれています。画像を保存するのに問題はありませんが、動画を保存するときに問題が発生しています。画像はintervention/image
を使用してリサイズされますが、動画はリサイズされません。動画を保存しようとすると、ファイルのハッシュネーム+拡張子を含む新しいフォルダが作成され、動画はそこにハッシュ名+拡張子として保存されます。この例は以下のようになります:Laravelアップロードされたビデオは、ルートフォルダではなくファイル名のディレクトリに保存されます
myproject/storage/app/public/media/{id}/b8e79fb3a719afc566f3cbe0ca47e47b.mp4/b8e79fb3a719afc566f3cbe0ca47e47b.mp4
それは次のようになります。
myproject/storage/app/public/media/{id}/b8e79fb3a719afc566f3cbe0ca47e47b.mp4
は、ここでメディアを保存するための私のコードです:
protected function saveMedia(UploadedFile $media, int $mediaId)
{
$mimeType = $media->getMimeType();
$mediaType = explode('/', $mimeType)[0];
$path = $media->hashName('custom_slide_media/'.$mediaId);
if ($mediaType == 'video')
{
Storage::disk('public')->put($path, $media);
}
else
{
$disk = Storage::disk('public');
$disk->put($path, $this->formatImage($media));
}
return Storage::disk('public')->url($path);
}
protected function formatImage($file)
{
return (string) $this->imageManager->make($file->path())
->fit(900)->encode();
}
誰も教えてもらえます何がうまくいかないの?おかげ