halo-dev / halo

强大易用的开源建站工具。
https://www.halo.run
GNU General Public License v3.0
33.91k stars 9.68k forks source link

希望上传图片后的等待时间可以自定义 #6713

Open 52lemon6 opened 1 month ago

52lemon6 commented 1 month ago

你当前使用的版本

2.19.3 pro

描述一下此特性

希望上传图片后的等待时间可以自定义 如,我上传了一张图片,希望可以自定义等待5秒或者10秒再显示,比如图中这里,目前是跑到100%后显示实际图片,希望可以再这里可以设置等待几秒再显示 image

场景:如:我存储策略设置为cos,在上传到cos后会使用数据万象进行处理(如webp转换图片压缩等操作)此时数据万象处理需要时间,若传输完成之后直接显示原图,此时数据万象还在处理图片,图片还没成功生成,此时cos中还没有这个图,图片就会无法显示(效果如图),需要刷新后才能显示,若此时等待几秒钟后数据万象将图片处理完了在显示,就可以正常显示了 image

附加信息

No response

guqing commented 1 month ago

Halo 2.19.0 已经支持了缩略图功能,或许你可以参考 https://github.com/halo-dev/plugin-s3/pull/167 来实现,只需要为所有附件生成缩略图即可而不是去修改原始的图片,如果你使用 plugin-s3 插件那么等待此 PR 的改动发布之后只需要配置一下即可无需任何改动

guqing commented 1 month ago

/triage needs-information

52lemon6 commented 1 month ago

Halo 2.19.0 已经支持了缩略图功能,或许你可以参考 halo-dev/plugin-s3#167 来实现,只需要为所有附件生成缩略图即可而不是去修改原始的图片,如果你使用 plugin-s3 插件那么等待此 PR 的改动发布之后只需要配置一下即可无需任何改动

这个有排期嘛,大概什么时候会发布呀

guqing commented 1 month ago

Halo 2.19.0 已经支持了缩略图功能,或许你可以参考 halo-dev/plugin-s3#167 来实现,只需要为所有附件生成缩略图即可而不是去修改原始的图片,如果你使用 plugin-s3 插件那么等待此 PR 的改动发布之后只需要配置一下即可无需任何改动

这个有排期嘛,大概什么时候会发布呀

目前还有点小问题: 只对新创建的存储策略有效, 修改以前创建的存储策略的缩略图选项后需要重启 halo 才能生效 因此需要等到 halo 2.20 (https://github.com/halo-dev/halo/pull/6639) 发布才算是一个完整的状态,目前如果你乐意尝试的话可以自己打包一个安装使用, Halo 2.20 预计还有一周发布之后才会发布 s3 插件

ruibaby commented 2 weeks ago

S3 插件 1.12 已发布。

https://github.com/halo-dev/plugin-s3/releases/tag/v1.12.0

/close

f2c-ci-robot[bot] commented 2 weeks ago

@ruibaby: Closing this issue.

In response to [this](https://github.com/halo-dev/halo/issues/6713#issuecomment-2411448612): >S3 插件 1.12 已发布。 > >https://github.com/halo-dev/plugin-s3/releases/tag/v1.12.0 > >/close Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md). If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository.
52lemon6 commented 2 weeks ago

这个图片延迟加载是海没有上嘛,更新了对象存储插件到1.12.0貌似仍没有文章页面延迟加载图片的选项

guqing commented 2 weeks ago

这个图片延迟加载是海没有上嘛,更新了对象存储插件到1.12.0貌似仍没有文章页面延迟加载图片的选项

并没有说要做图片延迟加载的功能呢,参考 https://github.com/halo-dev/halo/issues/6713#issuecomment-2378773001 解决不了你的问题吗

Image

JohnNiang commented 2 weeks ago

@52lemon6 建议提供以下完整的复现步骤,包括 COS 配置,方便我们复现这个问题。

52lemon6 commented 2 weeks ago

这个图片延迟加载是海没有上嘛,更新了对象存储插件到1.12.0貌似仍没有文章页面延迟加载图片的选项

并没有说要做图片延迟加载的功能呢,参考 #6713 (comment) 解决不了你的问题吗

Image

不能实现,如腾讯云的盲水印3.0是不支持在下载的时候进行处理的,我在使用腾讯云数据万象盲水印功能的时候,目前是使用工作流实现的(从a桶处理后传至b桶)此时若是在编辑文章的地方没有做延迟加载,就会没办法加载这张图片,因为数据万象在处理数据的时候需要几秒的时间,而且腾讯云水印是按照次数收费的,没有免费额度,若是访问量大的话,在下载的时候处理图片的话每次都会计费,此时费用也会比较高

52lemon6 commented 2 weeks ago

Image 乃至更复杂的处理规则,此处是无法实现的,比如盲水印3.0中小于64x64的图片无法处理,此时先对图片进行判断,是否大于64x64若小于,则不进行盲水印的处理,这咋s3插件也是没有的功能

ruibaby commented 2 weeks ago

不管问题出在哪里,我不认为为图片上传添加等待时间设置是一个合理的功能。如果一定要实现,建议你想办法在反向代理侧做延时处理。

guqing commented 2 weeks ago

前是使用工作流实现的(从a桶处理后传至b桶)此时若是在编辑文章的地方没有做延迟加载

不能在同一个桶内用工作流处理已经上传的图片吗,或者先复制过去处理之后在覆盖它

52lemon6 commented 2 weeks ago

前是使用工作流实现的(从a桶处理后传至b桶)此时若是在编辑文章的地方没有做延迟加载

不能在同一个桶内用工作流处理已经上传的图片吗,或者先复制过去处理之后在覆盖它

工作流中貌似不能做到替换原文件,而且我这边也有进行格式转换,如hevc转换webp、jpg转换webp,所以源文件的后缀是会变的,此时仍是需要等待数据万象进行处理

52lemon6 commented 2 weeks ago

不管问题出在哪里,我不认为为图片上传添加等待时间设置是一个合理的功能。如果一定要实现,建议你想办法在反向代理侧做延时处理。

这没办法实现把,这个反向代理没办法控制浏览器的请求吧

52lemon6 commented 2 weeks ago

不管问题出在哪里,我不认为为图片上传添加等待时间设置是一个合理的功能。如果一定要实现,建议你想办法在反向代理侧做延时处理。

而且这也不是说在上传的时候进行等待,是上传完成后显示图片的时候进行等待,比如图片上传完了,比如等待四五秒后在请求图片

ruibaby commented 2 weeks ago

希望可以自定义等待5秒或者10秒再显示,比如图中这里,目前是跑到100%后显示实际图片,希望可以再这里可以设置等待几秒再显示

而且这也不是说在上传的时候进行等待,是上传完成后显示图片的时候进行等待,比如图片上传完了,比如等待四五秒后在请求图片

那我也认为添加一个这样的设置或者默认延迟也是不合理的,这完全是为了处理这种不常见的异常情况。我能想到的合理的办法是为编辑器的图片加载添加重试机制,但这也会让编辑器的复杂度提升。

/reopen /priority awaiting-more-evidence

f2c-ci-robot[bot] commented 2 weeks ago

@ruibaby: Reopened this issue.

In response to [this](https://github.com/halo-dev/halo/issues/6713#issuecomment-2413431871): >> 希望可以自定义等待5秒或者10秒再显示,比如图中这里,目前是跑到100%后显示实际图片,希望可以再这里可以设置等待几秒再显示 > >> 而且这也不是说在上传的时候进行等待,是上传完成后显示图片的时候进行等待,比如图片上传完了,比如等待四五秒后在请求图片 > >那我也认为添加一个这个的设置或者默认延迟也是不合理的,这完全是为了处理这种不常见的异常情况。我能想到的合理的办法是为编辑的图片加载添加重试机制,但这也会让编辑器的复杂度提升。 > >/reopen >/priority awaiting-more-evidence Instructions for interacting with me using PR comments are available [here](https://git.k8s.io/community/contributors/guide/pull-requests.md). If you have questions or suggestions related to my behavior, please file an issue against the [kubernetes/test-infra](https://github.com/kubernetes/test-infra/issues/new?title=Prow%20issue:) repository.