Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

内网图片无法上传到 Cloudinary 图床 #5996

Closed
ArtanisCV opened this issue Oct 9, 2023 · 29 comments
Closed

内网图片无法上传到 Cloudinary 图床 #5996

ArtanisCV opened this issue Oct 9, 2023 · 29 comments

Comments

@ArtanisCV
Copy link

ArtanisCV commented Oct 9, 2023

请描述你的建议或任何内容

目前 Cloudinary 图床的原理似乎会先把图片的URL发给简悦的服务器,再进行上传。
这样一来,对于内网图片,URL发给简悦后无法解析,自然也就上传不到图床(会提示上传失败)。
之前的 Notion 图床似乎没这个问题。
这里可以修改为把图片直接发给简悦服务器吗?

补充说明

No response

@Kenshin
Copy link
Owner

Kenshin commented Oct 9, 2023

emmm 这确实是个问题…

我先 Mark 下,考虑下解决方案。

@Kenshin
Copy link
Owner

Kenshin commented Oct 10, 2023

你也可以试试 #4954 (comment) 能否解决你的问题。

@ArtanisCV
Copy link
Author

ArtanisCV commented Oct 10, 2023

你也可以试试 #4954 (comment) 能否解决你的问题。

试了一下,配置好了PicGo,但简悦只能成功上传并替换一个URL,同一篇文章里的其他URL都提示上传失败。但所有图片URL的路径格式是一样的。比较奇怪。

@Kenshin
Copy link
Owner

Kenshin commented Oct 10, 2023

这可能是 PicGo 的 Bug,试试下面的方案

image

@ArtanisCV
Copy link
Author

试了一下还是不行,是不是url不能带有参数?我看了下,类似这样的可以
https://xx.com/asset/yyyy
但是这样的不行
https://xx.com/asset/yyyy?height=1070&width=2400

@Kenshin
Copy link
Owner

Kenshin commented Oct 10, 2023

我研究下,估计还是 PicGo 的问题…

@ArtanisCV
Copy link
Author

我研究下,估计还是 PicGo 的问题…

感觉确实是 PicGo 自己的问题,我在 PicGo 里手动指定 url 上传,带参数的那些传不上去。不知道是不是因为 PicGo 把参数丢了导致取不到图片

@Kenshin
Copy link
Owner

Kenshin commented Oct 11, 2023

这就很奇怪了... 你可以在 PicGo 的 Issues 提交你的问题,他们回复也很快的。

@ArtanisCV
Copy link
Author

这就很奇怪了... 你可以在 PicGo 的 Issues 提交你的问题,他们回复也很快的。

研究了下 PicGo 的日志,应该是鉴权的问题……鉴权会同时用到 url 里的 token 参数 + 浏览器 cookie,但 PicGo 没法带上 cookie,所以就读不到图片了。

这样看,感觉好像还是需要和之前 notion 图床一样的做法,简悦在浏览器端请求到图片内容,再发起上传?

@Kenshin
Copy link
Owner

Kenshin commented Oct 13, 2023

感觉好像还是需要和之前 notion 图床一样的做法,简悦在浏览器端请求到图片内容,再发起上传?

Notion 图床无法使用了,做不到这点 😂

如果 PicGo 能支持 base64 上传也行,我可以在浏览器直接把图片转换 base64 在上传,或非 URL 的上传方案都行。

@ArtanisCV
Copy link
Author

感觉好像还是需要和之前 notion 图床一样的做法,简悦在浏览器端请求到图片内容,再发起上传?

Notion 图床无法使用了,做不到这点 😂

如果 PicGo 能支持 base64 上传也行,我可以在浏览器直接把图片转换 base64 在上传,或非 URL 的上传方案都行。

命令行的 PicGo (pigo-core) 好像是可以的,有个 transformer 可以选择 base64。但 GUI 的不知道是否可以。
或者使用简悦服务器的方案里,可以接受 base64 吗,这个可控性应该更高一些?

@Kenshin
Copy link
Owner

Kenshin commented Oct 13, 2023

emmm 我研究下,感觉够呛,主要是它的 API 似乎不支持。

@ArtanisCV
Copy link
Author

emmm 我研究下,感觉够呛,主要是它的 API 似乎不支持。

Hello,请问这里有什么更新吗?我看了下,貌似服务器接口最终也是调用 PicGo 里的 uploader,而 uploader 的配置支持指定base64 transformer。不知道是不是可以在服务器里配置个 config 让它走到 base64 里。

upload 最终会走到这里:https://github.com/PicGo/PicGo-Core/blob/dev/src/core/Lifecycle.ts#L16

@Kenshin
Copy link
Owner

Kenshin commented Oct 25, 2023

貌似服务器接口最终也是调用 PicGo 里的 uploader

简悦的服务器没有使用 Picgo 的方案。而直接使用 Cloudinary API

@Kenshin
Copy link
Owner

Kenshin commented Oct 25, 2023

Cloudinary API 支持 base64 ,但对于简悦来说传 base64 有点太消耗性能了。

@ArtanisCV
Copy link
Author

Cloudinary API 支持 base64 ,但对于简悦来说传 base64 有点太消耗性能了。

如果服务端用 base64 太耗性能,是否可以在简悦插件里直接上传到 Cloudinary?
PS. 从 Cloudinary 的 API 看,似乎不需要先经过 PicGo 中转,直接在插件里就足以把图片传上去?这样也没有鉴权之类的问题了。

@Kenshin
Copy link
Owner

Kenshin commented Nov 8, 2023

我说的 消耗性能指的就是后端 😂

base64 编码的内容传给它太大了。

@ArtanisCV
Copy link
Author

我说的 消耗性能指的就是后端 😂

base64 编码的内容传给它太大了。

抱歉我没开发过web前端对这里的细节不太了解。
这里的后端消耗,是指如果简悦的扩展直接用 cloudinary api 发 base64,会让chrome扛不住?

@Kenshin
Copy link
Owner

Kenshin commented Nov 8, 2023

没事

base64 = 后端消耗 = 流量(性能) = 💰 ... 😂

简悦是买断制,拥有后端服务的功能对高级账户是免费的,但对于我来说是需要按年(或流量)付费的。

@ArtanisCV
Copy link
Author

没事

base64 = 后端消耗 = 流量(性能) = 💰 ... 😂

简悦是买断制,拥有后端服务的功能对高级账户是免费的,但对于我来说是需要按年(或流量)付费的。

噢我的意思是,不走服务器,直接在简悦的扩展里发 upload 请求到 cloudinary 可以做到吗,即都发生在用户自己的 brower 里?

@Kenshin
Copy link
Owner

Kenshin commented Nov 8, 2023

应该没法做到,我可以研究下。

@ArtanisCV
Copy link
Author

应该没法做到,我可以研究下。

我看 cloudinary 提供了一个简单的 JS endpoint,不知道能否使用 https://cloudinary.com/documentation/javascript_image_and_video_upload

@Kenshin
Copy link
Owner

Kenshin commented Nov 8, 2023

我测试过,不行的,我会研究下的。

PS:你可真能「钻研」👍

@eyun221
Copy link

eyun221 commented Nov 30, 2023

我测试过,不行的,我会研究下的。

PS:你可真能「钻研」👍

研究的咋样了,我这边也有这个问题,内网图片无法上传

@KennyNoDie
Copy link

求进度,内网图片上传是刚需

@Kenshin
Copy link
Owner

Kenshin commented Dec 12, 2023

@eyun221 @KennyNoDie

okay 可以提高下优先级 😂

@IITII
Copy link

IITII commented Feb 27, 2024

同求, 谢谢. 性能问题可以后续优化, 可用的方法是图片一个一个上传, 避免一次性导致 OOM

@Kenshin
Copy link
Owner

Kenshin commented Jun 27, 2024

嗨,各位。

导入到 Notion 升级到 1.2.0

重点更新:导入到 Cloudinary 时不经过简悦自己的图片服务器

旧版 1.2.0(以上)会通过简悦的自己的服务器,优点是不需要耗费用户的设备性能;缺点是当为内网图片时无法使用;

新版 1.2.0(含),不经过简悦自己的图片服务器,解决了内网图片或某些有防盗链的图片无法上传的问题。

如:

  1. 近期少数派更新了图片规则,导致无法使用旧方案上传,但版方案可以正常将少数派的图片上传到 Cloudinary

    image
  2. 内网图片无法使用此功能的问题

其它更新

Fix 导入图片如果是 http: 形式在 Notion 无法显示的问题

安装与升级

  • 没有【使用同步助手 · 自动同步】的话,可通过 此链接 安装。

  • 已经【使用同步助手 · 自动同步】的话,请使用 插件管理器 安装。


我关闭这个 Issues 了,有任何问题请在汇总页面讨论 #5917

@Kenshin
Copy link
Owner

Kenshin commented Jun 30, 2024

除了上面提到的 新版 Cloudinary 图床方案外,图床插件 升级到 2.0.0 内置了 (与 导入到 Notion 一致的)Cloudinary 图床方案,如果不想使用 Notion 的话,可以考虑这个插件。

2.0.0 版介绍

可以将阅读模式的图片上传到你的图床中,并替换为图床的图片链接,导入后支持触发自动化方案实现导入到简悦支持的任意生产力工具的诉求,目前有以下几种导入方式:

1️⃣ PicGo 图床 → 借助 PicGo App 实现支持大多数常见的图床方案。

2️⃣ Base64 本地化图片 → 将图片转换为 Base64 字符串。

3️⃣ Cloudinary 图床 → 直接将图片上传到 Cloudinary 图床。

功能

  1. 支持图床方案:PicGo 图床、Cloudinary 图床Base64 图片本地化 三种方式。

  2. 图片上传完毕后自动将阅读模式的图片链接转换为图床链接。

  3. 图片上传完毕后自动加入稍后读

  4. 图片上传完毕后支持导出方案(包括:简悦扩展端原生支持与简悦插件)

安装与升级

  • 没有【使用同步助手 · 自动同步】的话,可通过 此链接 安装。

  • 已经【使用同步助手 · 自动同步】的话,请使用 插件管理器 安装。


我关闭这个 Issues 了,有任何问题随时在这里讨论

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants