如何使用 ember 和 RESTful api 将图像上传到 postgreSQL 数据库

How to upload image to postgreSQL database using ember and RESTful api

我有一个 ember 应用程序来列出有关 alumni 使用 django rest 框架和 postgreSQL 的详细信息。我需要上传图像(存储在我的存储中)以及其他详细信息。我怎样才能在 ember 中做到这一点?

我可以通过从 ember 转换为 base64 并存储编码字符串来实现吗?如果可以,怎么做?

您可以为此使用此模块image-base64

我能够使用 base64 编码将图像上传到 PostgreSQL。我使用 ember-image-drop 插件将图像转换为 base64 代码。

我在 add 路线中使用了这些代码(请注意,我使用的是 pod-structure):

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);
        },
    }
});