我想让授权的最终用户(非管理员(直接从前端将图像上传到媒体库(没有查看限制-上传后只公开(。
如何让用户在上传过程中只看到自己的文件夹?我可以用用户的ID创建一个文件夹吗?如何以编程方式创建文件夹?这可能吗?或者我必须使用Cloudinary或S3?
要扩展Strapi插件的功能,我们需要将所需的插件从node_modules
复制到src/extensions
在这个特定的例子中,我们只想修改`add((一点
src\extensions\upload\services\upload.js
async add(values, { user } = {}) {
const fileValues = { ...values };
if (user) {
fileValues[UPDATED_BY_ATTRIBUTE] = user.id;
fileValues[CREATED_BY_ATTRIBUTE] = user.id;
fileValues.username = user.username; // <<< Here
}
sendMediaMetrics(fileValues);
const res = await strapi.query(FILE_MODEL_UID).create({ data: fileValues });
await this.emitEvent(MEDIA_CREATE, res);
return res;
},
也许这还不够,我只是不记得所有的步骤,但我认为这会奏效。如果不是-只需遍历调用链,并确保在此阶段的user.username
不是undefined
,它就会工作。