Это то, что я сделал во внешнем интерфейсе для отправки файла изображения.
handleFileChange = (event) => {
const { name, value } = event.target
const { organization } = this.state
let reader = new FileReader()
let file = event.target.files[0]
reader.onload = () => {
this.setState({
organization: {
...organization,
logo: file,
logoFile: reader.result
}
})
}
reader.readAsBinaryString(file)
}
<input type="file"
name="logo"
onChange={this.handleFileChange} />
Это то, что я сделал в rails OrganizationsController, чтобы сохранить изображение в базе данных.
org = Organization.new(org_params)
org.logo = params[:organization][:logo].tempfile.path
if org.save
render json: org
end
Вот код для модели organization.rb
class Organization < ApplicationRecord
mount_uploader :logoFile, LogoUploader
validates :name, logo, presence: true
validates :name, uniqueness: true
end
При извлечении пути изображения из серверной части я получил следующий путь:
<img alt="" height='35px' width='37px' src="/var/folders/k3/k69tmr710wj_2vstx3rz01l80000gn/T/RackMultipart20180523-1093-1y543vo.png" />
С этим путем изображенияизображение не отображается в моем приложении.Но когда я вставляю этот путь в мой браузер, он отображает изображение с таким путем:
file:///var/folders/k3/k69tmr710wj_2vstx3rz01l80000gn/T/RackMultipart20180523-1093-1y543vo.png
Пожалуйста, помогите мне в решении этой проблемы.