Файлы изображений, передаваемые из GridFS, выдают 404, хотя изображение отображается нормально.Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Файлы изображений, передаваемые из GridFS, выдают 404, хотя изображение отображается нормально.

Сообщение Anonymous »

Мое приложение работает, и изображения отображаются нормально. Я вижу проблему в консоли JS:

Код: Выделить всё

2 requests
175 kB transferred
174 kB resources
Finish: 358 ms
DOMContentLoaded: 346 ms
Load: 347 ms
Request URL:
https://myapp.com/images/wtN6YCvAsuEyfXFNWV2UuSJBkQBxsUsfC5HCz1KO.jpg
Request Method:
GET
Status Code:
404 Not Found
Remote Address:
127.0.0.1:443
Referrer Policy:
strict-origin-when-cross-origin
Я могу скопировать и вставить https://myapp.com/images/wtN6YCvAsuEyfX ... HCz1KO.jpg в новую вкладку, и все отображается нормально (конечно, с ошибкой JS).
Я, конечно, перекомпилировал ресурсы и прочее и очистил кеш. Даже в режиме инкогнито он делает то же самое.
Мое изображение отображается по следующему пути:
images->first()->path) }}" alt="{{ $property->имя }}">
Мой маршрут

Код: Выделить всё

Route::get('/images/{filename}', [ImageController::class, 'streamImage'])->name('image.show');
Моя функцияstreamImage:

Код: Выделить всё

public function streamImage($filename)
{
// Find the image by filename in the images collection
$image = Image::where('path', $filename)->first();

if (!$image) {
abort(404); // Image not found
}

// Open GridFS stream (no need for a custom client)
$gridfs = \Storage::disk('gridfs');
$stream = $gridfs->readStream($filename);

// Stream the image as a response
return Response::stream(function () use ($stream) {
fpassthru($stream);
}, 200, [
'Content-Type' => $image->mime_type,
'Content-Disposition' => 'inline; filename="' . $image->filename . '"',
]);
}
Почему я получаю ошибки JS?

Подробнее здесь: https://stackoverflow.com/questions/790 ... ge-renders
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»