要在Apostrophe CMS的HTML模板中获取图片,但无法在beforeSave中获取图片,可以尝试以下解决方法:
apos.area
小部件来处理图片。这样可以在beforeSave中访问到图片的相关信息。以下是一个示例代码:
{{ apos.area(data.page, 'content', {
widgets: {
// 在这里定义一个小部件来处理图片
'apostrophe-images': {
// 设置允许上传的图片类型
limit: 1,
// 在beforeSave中可以通过widget._pieces[0].attachment获取到上传的图片
}
}
}) }}
apos.singleton
小部件来处理图片。这样可以在beforeSave中访问到图片的相关信息。以下是一个示例代码:
{{ apos.singleton(data.page, 'image', 'apostrophe-images', {
limit: 1
}) }}
然后在beforeSave
方法中,可以通过访问req.data.page.image
来获取上传的图片。
module.exports = {
beforeSave: async (req) => {
const image = req.data.page.image;
// 在这里可以访问和处理上传的图片
}
};
通过以上方法,您可以在HTML模板中获取图片,并在beforeSave中对图片进行处理。