经测试,数据库好像不支持图床?
下图为向数据库的“资源”列中粘贴图片发出的提示(已启用 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}
jQuery 是一套跨浏览器的 JavaScript 库,强化 HTML 与 JavaScript 之间的操作。由 John Resig 在 2006 年 1 月的 BarCamp NYC 上释出第一个版本。全球约有 28% 的网站使用 jQuery,是非常受欢迎的 JavaScript 库。
PWA(Progressive Web App)是 Google 在 2015 年提出、2016 年 6 月开始推广的项目。它结合了一系列现代 Web 技术,在网页应用中实现和原生应用相近的用户体验。
宋真宗赵恒曾经说过:“书中自有黄金屋,书中自有颜如玉。”
React 是 Facebook 开源的一个用于构建 UI 的 JavaScript 库。
找到自己的位置,萌新烦恼少。
SQLite 是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。SQLite 是全世界使用最为广泛的数据库引擎。
Tomcat 最早是由 Sun Microsystems 开发的一个 Servlet 容器,在 1999 年被捐献给 ASF(Apache Software Foundation),隶属于 Jakarta 项目,现在已经独立为一个顶级项目。Tomcat 主要实现了 JavaEE 中的 Servlet、JSP 规范,同时也提供 HTTP 服务,是市场上非常流行的 Java Web 容器。
Ngui 是一个 GUI 的排版显示引擎和跨平台的 GUI 应用程序开发框架,基于
Node.js / OpenGL。目标是在此基础上开发 GUI 应用程序可拥有开发 WEB 应用般简单与速度同时兼顾 Native 应用程序的性能与体验。
Rust 是一门赋予每个人构建可靠且高效软件能力的语言。Rust 由 Mozilla 开发,最早发布于 2014 年 9 月。
Ant Design 是服务于企业级产品的设计体系,基于确定和自然的设计价值观上的模块化解决方案,让设计者和开发者专注于更好的用户体验。
互联网(Internet),又称网际网络,或音译因特网、英特网。互联网始于 1969 年美国的阿帕网,是网络与网络之间所串连成的庞大网络,这些网络以一组通用的协议相连,形成逻辑上的单一巨大国际网络。
百度应用引擎(Baidu App Engine)提供了 PHP、Java、Python 的执行环境,以及云存储、消息服务、云数据库等全面的云服务。它可以让开发者实现自动地部署和管理应用,并且提供动态扩容和负载均衡的运行环境,让开发者不用考虑高成本的运维工作,只需专注于业务逻辑,大大降低了开发者学习和迁移的成本。
gzip (GNU zip)是 GNU 自由软件的文件压缩程序。我们在 Linux 中经常会用到后缀为 .gz 的文件,它们就是 Gzip 格式的。现今已经成为互联网上使用非常普遍的一种数据压缩格式,或者说一种文件格式。
Typecho 是一款博客程序,它在 GPLv2 许可证下发行,基于 PHP 构建,可以运行在各种平台上,支持多种数据库(MySQL、PostgreSQL、SQLite)。
微服务架构是一种架构模式,它提倡将单一应用划分成一组小的服务。服务之间互相协调,互相配合,为用户提供最终价值。每个服务运行在独立的进程中。服务于服务之间才用轻量级的通信机制互相沟通。每个服务都围绕着具体业务构建,能够被独立的部署。
以太坊(Ethereum)并不是一个机构,而是一款能够在区块链上实现智能合约、开源的底层系统。以太坊是一个平台和一种编程语言 Solidity,使开发人员能够建立和发布下一代去中心化应用。 以太坊可以用来编程、分散、担保和交易任何事物:投票、域名、金融交易所、众筹、公司管理、合同和知识产权等等。
红帽提供的 PaaS 云,支持多种编程语言,为开发人员提供了更为灵活的框架、存储选择。
RabbitMQ 是一个开源的 AMQP 实现,服务器端用 Erlang 语言编写,支持多种语言客户端,如:Python、Ruby、.NET、Java、C、PHP、ActionScript 等。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。
Openfire 是开源的、基于可拓展通讯和表示协议 (XMPP)、采用 Java 编程语言开发的实时协作服务器。Openfire 的效率很高,单台服务器可支持上万并发用户。
Mobi.css is a lightweight, flexible CSS framework that focus on mobile.
一种软件架构设计风格而不是标准,提供了一组设计原则和约束条件,主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。
Microsoft Windows 是美国微软公司研发的一套操作系统,它问世于 1985 年,起初仅仅是 Microsoft-DOS 模拟环境,后续的系统版本由于微软不断的更新升级,不但易用,也慢慢的成为家家户户人们最喜爱的操作系统。
资讯是用户因为及时地获得它并利用它而能够在相对短的时间内给自己带来价值的信息,资讯有时效性和地域性。
脑图又叫思维导图,是表达发散性思维的有效图形思维工具 ,它简单却又很有效,是一种实用性的思维工具。
我们平时所说的“架构”主要是指软件架构,这是有关软件整体结构与组件的抽象描述,用于指导软件系统各个方面的设计。另外还有“业务架构”、“网络架构”、“硬件架构”等细分领域。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于