经测试,数据库好像不支持图床?
下图为向数据库的“资源”列中粘贴图片发出的提示(已启用 PicGo 自动上传)
经测试,数据库好像不支持图床?
下图为向数据库的“资源”列中粘贴图片发出的提示(已启用 PicGo 自动上传)
仓库地址: https://github.com/M2uyo/Siyuan_pic_bed
我写了个思源的图床插件, 但是由于是前端小白, 仅纯后端实现 所以需要一个 api 请求客户端 推荐 Apifox
直接下载 release lastest 的 py_server.exe 文件
下载完成后双击执行不要关闭弹出来的命令行窗口
因为是 exe 文件所以只支持 windows 环境
如果想支持其他环境, 可以下载代码, 直接 python .\main.py 运行
先同步下配置
Post 请求 http://127.0.0.1:38546/config
{
"picgo": {
"remote_path": "https://img.picgo.net/" # 这里我用的是picgo net 所以前缀就是它, 你需要修改成你的图床的对应前缀 (校验重复时使用)
},
"siyuan": {
"token": "token 7fgtf1un1q4t", # 思源的 token
"data_dir": "D:\\note\\Siyuan\\data" # 思源的 Data 文件夹
}
}
复制单个数据的 id
请求上传
Post 请求 http://127.0.0.1:38546/siyuan/database
{
"method": "uploadDatabaseResource", # 固定值 勿改
"database_id": "20240819104637-cxtxbl5", # 步骤2 获得的ID 直接复制即可
"end_point": 2, # 固定值 尽量不要更改 1: 123云盘 2: PicGo 如果需要更改 请看阅读源码
"token": "token 7fgtf1un1q4t" # 思源的 token 同步骤 1
}
等待上传成功, 由于不明确 picgo 的 qps 限制 故为单线程上传, 可能需要等待一些时间(平均一张图片 2-3s)
在此过程中, 最好不要进行操作
如果有啥使用问题, 可以在仓库提 issues 也可在当前页面留言
如果有个前端大佬能合作下 搞一个前端的 ui 操作 那就更好了
感谢回复,我试了一下,在第三步“请求上传”卡住了,提示如下:
[32mINFO[0m: 127.0.0.1:14205 - "[1mPOST /siyuan/database HTTP/1.1[0m" [91m500 Internal Server Error[0m
[31mERROR[0m: Exception in ASGI application
Traceback (most recent call last):
File "uvicorn\protocols\http\httptools_impl.py", line 399, in run_asgi
File "uvicorn\middleware\proxy_headers.py", line 70, in __call__
File "fastapi\applications.py", line 1054, in __call__
File "starlette\applications.py", line 123, in __call__
File "starlette\middleware\errors.py", line 186, in __call__
File "starlette\middleware\errors.py", line 164, in __call__
File "starlette\middleware\exceptions.py", line 65, in __call__
File "starlette\_exception_handler.py", line 64, in wrapped_app
File "starlette\_exception_handler.py", line 53, in wrapped_app
File "starlette\routing.py", line 756, in __call__
File "starlette\routing.py", line 776, in app
File "starlette\routing.py", line 297, in handle
File "starlette\routing.py", line 77, in app
File "starlette\_exception_handler.py", line 64, in wrapped_app
File "starlette\_exception_handler.py", line 53, in wrapped_app
File "starlette\routing.py", line 72, in app
File "fastapi\routing.py", line 278, in app
File "fastapi\routing.py", line 191, in run_endpoint_function
File "router\siyuan.py", line 41, in siyuan_database
File "action\siyuan.py", line 52, in upload_database_resource
File "interface\local.py", line 67, in async_get_database_resource
File "entity\siyuan.py", line 126, in parse
KeyError: 'mAsset'
提了几个提交到 dev 分支 可以下载最新 dev 分子和代码命令行运行 python ./main.py
也可解压附件 pyserver.zip
注意: 运行前 请先做好数据备份
此次提交主要是 加了个日志输出和兼容处理, 请留意如下日志
ISiyuan.async_get_database_resource | 未找到资源key |
如果出现了如上日志, 如果可以的话麻烦 数据脱敏后提供日志信息
我这边尝试后出现了以下日志,不过资源还是成功上传到了图床,但是没有替换链接。
[WARNING] - ISiyuan.async_get_database_resource | 未找到资源key | key:mAsset row_resource:{'id': '20240823184328-rgz0n8g', 'keyID': '20240823184321-fhgrodr', 'blockID': '20240609200508-dvrgbpb', 'type': 'mAsset', 'createdAt': 1724410013214, 'updatedAt': 1724411206487}
Hibernate 是一个开放源代码的对象关系映射框架,它对 JDBC 进行了非常轻量级的对象封装,使得 Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。
让我们欢迎这对新人。哦,不好意思说错了,让我们欢迎这位新人!
新手上路,请谨慎驾驶!
Laravel 是一套简洁、优雅的 PHP Web 开发框架。它采用 MVC 设计,是一款崇尚开发效率的全栈框架。
阿里云是阿里巴巴集团旗下公司,是全球领先的云计算及人工智能科技公司。提供云服务器、云数据库、云安全等云计算服务,以及大数据、人工智能服务、精准定制基于场景的行业解决方案。
支付宝是全球领先的独立第三方支付平台,致力于为广大用户提供安全快速的电子支付/网上支付/安全支付/手机支付体验,及转账收款/水电煤缴费/信用卡还款/AA 收款等生活服务应用。
你若安好,便是晴天。
TensorFlow 是一个采用数据流图(data flow graphs),用于数值计算的开源软件库。节点(Nodes)在图中表示数学操作,图中的线(edges)则表示在节点间相互联系的多维数据数组,即张量(tensor)。
Kubernetes 是 Google 开源的一个容器编排引擎,它支持自动化部署、大规模可伸缩、应用容器化管理。
安全 · 稳定 · 快速
为跨境从业人员提供专业的跨境浏览器
深度学习(Deep Learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。
服务器,也称伺服器,是提供计算服务的设备。由于服务器需要响应服务请求,并进行处理,因此一般来说服务器应具备承担服务并且保障服务的能力。
Electron 基于 Chromium 和 Node.js,让你可以使用 HTML、CSS 和 JavaScript 构建应用。它是一个由 GitHub 及众多贡献者组成的活跃社区共同维护的开源项目,兼容 Mac、Windows 和 Linux,它构建的应用可在这三个操作系统上面运行。
CSS(Cascading Style Sheet)“层叠样式表”是用于控制网页样式并允许将样式信息与网页内容分离的一种标记性语言。
沉迷游戏伤身,强撸灰飞烟灭。
设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。
机器学习(Machine Learning)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。
宋真宗赵恒曾经说过:“书中自有黄金屋,书中自有颜如玉。”
Ant Design 是服务于企业级产品的设计体系,基于确定和自然的设计价值观上的模块化解决方案,让设计者和开发者专注于更好的用户体验。
Ngui 是一个 GUI 的排版显示引擎和跨平台的 GUI 应用程序开发框架,基于
Node.js / OpenGL。目标是在此基础上开发 GUI 应用程序可拥有开发 WEB 应用般简单与速度同时兼顾 Native 应用程序的性能与体验。
VirtualBox 是一款开源虚拟机软件,最早由德国 Innotek 公司开发,由 Sun Microsystems 公司出品的软件,使用 Qt 编写,在 Sun 被 Oracle 收购后正式更名成 Oracle VM VirtualBox。
前端技术一般分为前端设计和前端开发,前端设计可以理解为网站的视觉设计,前端开发则是网站的前台代码实现,包括 HTML、CSS 以及 JavaScript 等。
C 语言是一门通用计算机编程语言,应用广泛。C 语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
Wide 是一款基于 Web 的 Go 语言 IDE。通过浏览器就可以进行 Go 开发,并有代码自动完成、查看表达式、编译反馈、Lint、实时结果输出等功能。
欢迎访问我们运维的实例: https://wide.b3log.org
WebSocket 是 HTML5 中定义的一种新协议,它实现了浏览器与服务器之间的全双工通信(full-duplex)。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于