Strapi-媒体库前端侧上传,具有用户特定访问权限



我想让授权的最终用户(非管理员(直接从前端将图像上传到媒体库(没有查看限制-上传后只公开(。

如何让用户在上传过程中只看到自己的文件夹?我可以用用户的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,它就会工作。

最新更新