我正在使用回送存储组件"loopback-component-storage"
上传文件。但问题是,在添加了这个存储组件和一个名为Container的模型后,我无法将应用程序中的模型迁移到数据库。
下面是我得到的错误
Error: Cannot create data source "storage": Cannot initialize connector "loopback-component-storage": FileSystemProvider: Path does not exist: ./server/files
at new FileSystemProvider
但是我在通过这个snapshot描述的项目中也有/server/files目录
以下是datasources.json文件
{
"school": {
"host": "127.0.0.1",
"port": 3306,
"url": "",
"database": "school_db",
"password": "root",
"name": "school",
"user": "root",
"connector": "mysql"
},
"storage": {
"name": "storage",
"connector": "loopback-component-storage",
"provider": "filesystem",
"root": "./server/files"
}
}
以下是model-config.json
(部分,不完整)
{
"_meta": {
"sources": [
"loopback/common/models",
"loopback/server/models",
"../common/models",
"./models"
],
"mixins": [
"loopback/common/mixins",
"loopback/server/mixins",
"../common/mixins",
"./mixins"
]
},
"Container": {
"dataSource": "storage",
"public": true
}
}
以下是Container (上传/下载文件)
{
"name": "Container",
"plural": "containers",
"base": "Model",
"idInjection": true,
"options": {
"validateUpsert": true
},
"properties": {},
"validations": [],
"relations": {},
"acls": [],
"methods": {}
}
下面是我更新模型的脚本,比如Address
var server = require('./../../server');
var ds = server.dataSources.school;
var tables = ['Address'];
ds.autoupdate(tables, function(er,result) {
if (er) throw er;
ds.discoverModelProperties('Address', function (err, props) {
console.log(props);
});
ds.disconnect();
});
有没有人能帮我弄清楚这个问题,为什么存储组件会抛出文件目录不存在的异常
发布于 2018-01-16 21:38:05
尝试在server.js中添加此内容
var ds = loopback.createDataSource({
connector: require('loopback-component-storage'),
provider: 'filesystem',
root: 'server/files'
});
var storage = ds.createModel('storage');
app.model(storage);
也请查看文档here
发布于 2018-01-08 15:10:11
我认为在根参数中存在问题,
"storage": {
"name": "storage",
"connector": "loopback-component-storage",
"provider": "filesystem",
"root": "./files"
}
请参阅:Link
https://strongloop.com/strongblog/working-with-file-storage-and-loopback/
发布于 2018-07-04 21:59:11
您是否在服务器文件夹中创建了文件文件夹?
如果不是呢?你必须创建一个名为"files“的文件夹
如果是?那么您的路径声明可能是错误的。尝试像这样使用完整路径
"root": "/home/ubuntu/Documents/project/server/files"
https://stackoverflow.com/questions/48145643
复制相似问题