上传图片与Wakanda 2

时间:2018-04-08 13:24:32

标签: wakanda

我已将以下属性添加到wakanda 2 / angular 4 todo教程代码中: todoPicture: type image

当我想将图像上传到现有的待办事项时,我会得到以下内容:

todo.todoPicture.upload(file).then( result =>{ console.log('saved !') })

文件是来自输入的文件 todo是一个有效的实体。

结果: [Error] ERROR – TypeError: undefined is not an object (evaluating 'todo.todoPicture.upload') TypeError: undefined is not an object (evaluating 'todo.todoPicture.upload') error View_TodoComponent_1 (TodoComponent.ngfactory.js:13) logError (vendor.bundle.js:14702) (anonymous function) handleError (vendor.bundle.js:2375) (anonymous function) (vendor.bundle.js:10527) (anonymous function) (vendor.bundle.js:20184) onInvokeTask (vendor.bundle.js:5176) runTask (polyfills.bundle.js:2809) invokeTask (polyfills.bundle.js:3116) invokeTask (polyfills.bundle.js:4157) globalZoneAwareCallback (polyfills.bundle.js:4183) [Error] ERROR CONTEXT – DebugContext_ {view: Object, nodeIndex: 9, nodeDef: Object, …} DebugContext_ {view: Object, nodeIndex: 9, nodeDef: Object, elDef: Object, elView: Object, …}DebugContext_ error View_TodoComponent_1 (TodoComponent.ngfactory.js:13) logError (vendor.bundle.js:14702) (anonymous function) handleError (vendor.bundle.js:2380) (anonymous function) (vendor.bundle.js:10527) (anonymous function) (vendor.bundle.js:20184) onInvokeTask (vendor.bundle.js:5176) runTask (polyfills.bundle.js:2809) invokeTask (polyfills.bundle.js:3116) invokeTask (polyfills.bundle.js:4157) globalZoneAwareCallback (polyfills.bundle.js:4183)

将todo打印到控制台时,我可以查看所有其他属性,但不能显示todoPicture。

首先创建新的Todo项目时是否需要初始化todoPicture属性。

目前我只有: ```             让todo = ds [' Todo']。create({                 label:this.newTodoText,                 完成:false,

        });
        todo.save().then(() => {
            //alert('saved');
            this.todos.push({
                ID: todo['ID'],
                label: this.newTodoText,
                completed: false,

            });
            this.newTodoText = ""; 
            this.getTodos()
        });

```

PS:您宁愿回复解决方案而不是低估。这将更具建设性。或至少写一条评论为什么你认为你需要downvote。那会让我有机会改进我的问题。

1 个答案:

答案 0 :(得分:0)

看起来您已将{todoPicture图像属性添加到https://wakanda.github.io/doc/#/tutorial?section=main-todoangular的教程中。

以下是一些调试此建议的建议:

  1. 请使用Backend Image Attribute access进行第一次测试,以查看您的数据存储区中是否有图像属性。如果是这样,请使用数据存储区API创建一些实体,并查看是否可以使用find()或query()在客户端访问它们。

  2. 我认为图片upload()需要数据库中的现有实体,这意味着在调用image属性的upload()之前需要完成代码todo.save()。

  3. 请使用find()在已保存的实体上调用upload()进行测试,看看它是否适用于todoPicture属性。

    1. 如果您仍然无法上传到todoPicture。请使用从头开始构建的新解决方案进行测试,并将代码上传到Angular应用程序中的图像属性。 Here是我用于在image属性上测试upload()的示例,其中包含一个数据类和一个简单页面。如果它适合您,请告诉我。