Я смог загрузить изображение в PostgreSQL, используя кодировку base64. Я использовал расширение ember-image-drop для преобразования изображения в код base64.
Я использовал эти коды в моем add
маршруте (обратите внимание, что я использую pod-структуру):
template.hbs
<form {{action "submitAlumni" on="submit"}} class="alumniForm">
<div>{{image-drop image=selectedImage placeholder="Image" helpText="Drop your image here, or click to select"}}</div>
<button class="btn btn-primary" {{action "submitAlumni"}}>Submit</button>
</form>
route.js
import Route from '@ember/routing/route';
export default Route.extend({
});
controller.js
import Controller from '@ember/controller';
import { set } from '@ember/object';
export default Controller.extend({
image: null,
actions: {
submitAlumni() {
let image = this.get('selectedImage');
var onFail = function(response) {
alert(response);
};
const alumni = this.get('store').createRecord('alumni', {
image: image,
});
alumni.save().then(() => {
this.transitionToRoute('alumnis.show', alumni.id)
}, onFail);
},
}
});