Я работаю над веб-приложением, используя React
и Laravel
, которые находятся в отдельных проектах. Я пытаюсь отобразить изображение, извлеченное из хранилища Laravel
, в теге img
, используя URL-адрес i ' получаю, например, /storage/file-name.png
это мой метод показа:
public function show(Patient $patient)
{
$this->response = new stdClass();
...My code
$this->response->image = Storage::url($patient->user->image);
...My code
return response()->json($this->response, $this->successStatus)->header('content-type', 'application/json');
}
и в моем приложении реакции я передаю URL-адрес компонента, который содержит тег img
как реквизит, но ничего не показывает. Я попытался добавить http://localhost:8000
к /storage/file-name.png
, и результат тот же.
PS: я консоль зарегистрировал пропу image
, и он возвращает /storage/file-name.png
, что правильно.
вот мой метод рендеринга компонента dropzone:
render() {
const { isHighLight } = this.state;
const { isMultiple, isEnabled, title, image } = this.props;
return (
<div
className={classNames({
dropzone: true,
'dropzone--disbaled': !isEnabled,
'dropzone--highlight': isHighLight
})}
role='presentation'
onClick={this.handleDropzoneClick}
onDragLeave={this.handleDragLeave}
onDragOver={this.handleDragOver}
onDrop={this.handleDrop}
>
<img src={image} alt='dropzone' className='dropzone__img' />
<input ref={this.fileInputRef} type='file' className='dropzone__input' multiple={isMultiple} onChange={this.handleFileUploaded} />
<span className='dropzone__title'>{title}</span>
</div>
);
}
is там, чтобы показать изображение в режиме разработки? или я должен разместить свое приложение где-нибудь, чтобы иметь возможность показывать изображения?