数据库是否支持图床

本贴最后更新于 259 天前,其中的信息可能已经水流花落

经测试,数据库好像不支持图床?

下图为向数据库的“资源”列中粘贴图片发出的提示(已启用 PicGo 自动上传)

image.png

  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    25503 引用 • 105457 回帖
  • 图床
    33 引用 • 155 回帖 • 1 关注
  • Q&A

    提问之前请先看《提问的智慧》,好的问题比好的答案更有价值。

    9755 引用 • 44374 回帖 • 88 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • 可以向插件仓库反馈

    1 回复
  • 现在还不确定是插件问题还是数据库问题...可能数据库本来就不支持,那就和插件没什么关系了

    1 回复
  • 这个功能是插件提供的,那就是插件的问题

    1 回复
  • ok,我去问一下

  • Muu 1

    仓库地址: https://github.com/M2uyo/Siyuan_pic_bed

    我写了个思源的图床插件, 但是由于是前端小白, 仅纯后端实现 所以需要一个 api 请求客户端 推荐 Apifox

    直接下载 release lastest 的 py_server.exe 文件

    下载完成后双击执行不要关闭弹出来的命令行窗口

    注意

    因为是 exe 文件所以只支持 windows 环境

    如果想支持其他环境, 可以下载代码, 直接 python .\main.py 运行

    使用方法

    1. 先同步下配置
      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 文件夹 } }
    2. 复制单个数据的 id

    image.png

    1. 请求上传
      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 }
    2. 等待上传成功, 由于不明确 picgo 的 qps 限制 故为单线程上传, 可能需要等待一些时间(平均一张图片 2-3s)
      在此过程中, 最好不要进行操作

    最后

    如果有啥使用问题, 可以在仓库提 issues 也可在当前页面留言

    如果有个前端大佬能合作下 搞一个前端的 ui 操作 那就更好了

    修改

    • 最新版代码 第三步中的 key: end_point 已更改外 endpoint
    1 回复
    1 操作
    Muu 在 2024-08-29 21:24:33 更新了该回帖
  • 感谢回复,我试了一下,在第三步“请求上传”卡住了,提示如下:

    [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'
    2 回复
  • Muu

    很神奇, 我试了好多种情况都没有测出来 mAsset 不存在的情况 image.png

  • Muu

    提了几个提交到 dev 分支 可以下载最新 dev 分子和代码命令行运行 python ./main.py 也可解压附件 pyserver.zip

    注意: 运行前 请先做好数据备份

    此次提交主要是 加了个日志输出和兼容处理, 请留意如下日志

    ISiyuan.async_get_database_resource | 未找到资源key |

    如果出现了如上日志, 如果可以的话麻烦 数据脱敏后提供日志信息

    2 回复
  • 嗯嗯,我试试

  • juyuning 1 评论

    我这边尝试后出现了以下日志,不过资源还是成功上传到了图床,但是没有替换链接。

    [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}
    只要没有报错, 且有上传成功, 那就肯定会替换连接 如果是没有替换连接的话 关闭页签重新打开 应该就可以了, 问题应该是数据库是引用一个文件, 而我直接更改了该文件, 不会直接使得数据库重新渲染
    Muu
请输入回帖内容 ...

推荐标签 标签

  • jQuery

    jQuery 是一套跨浏览器的 JavaScript 库,强化 HTML 与 JavaScript 之间的操作。由 John Resig 在 2006 年 1 月的 BarCamp NYC 上释出第一个版本。全球约有 28% 的网站使用 jQuery,是非常受欢迎的 JavaScript 库。

    63 引用 • 134 回帖 • 733 关注
  • PWA

    PWA(Progressive Web App)是 Google 在 2015 年提出、2016 年 6 月开始推广的项目。它结合了一系列现代 Web 技术,在网页应用中实现和原生应用相近的用户体验。

    14 引用 • 69 回帖 • 175 关注
  • 书籍

    宋真宗赵恒曾经说过:“书中自有黄金屋,书中自有颜如玉。”

    78 引用 • 396 回帖
  • React

    React 是 Facebook 开源的一个用于构建 UI 的 JavaScript 库。

    192 引用 • 291 回帖 • 373 关注
  • 职场

    找到自己的位置,萌新烦恼少。

    127 引用 • 1708 回帖
  • SQLite

    SQLite 是一个进程内的库,实现了自给自足的、无服务器的、零配置的、事务性的 SQL 数据库引擎。SQLite 是全世界使用最为广泛的数据库引擎。

    5 引用 • 7 回帖 • 2 关注
  • Tomcat

    Tomcat 最早是由 Sun Microsystems 开发的一个 Servlet 容器,在 1999 年被捐献给 ASF(Apache Software Foundation),隶属于 Jakarta 项目,现在已经独立为一个顶级项目。Tomcat 主要实现了 JavaEE 中的 Servlet、JSP 规范,同时也提供 HTTP 服务,是市场上非常流行的 Java Web 容器。

    162 引用 • 529 回帖 • 2 关注
  • Ngui

    Ngui 是一个 GUI 的排版显示引擎和跨平台的 GUI 应用程序开发框架,基于
    Node.js / OpenGL。目标是在此基础上开发 GUI 应用程序可拥有开发 WEB 应用般简单与速度同时兼顾 Native 应用程序的性能与体验。

    7 引用 • 9 回帖 • 396 关注
  • Rust

    Rust 是一门赋予每个人构建可靠且高效软件能力的语言。Rust 由 Mozilla 开发,最早发布于 2014 年 9 月。

    58 引用 • 22 回帖 • 7 关注
  • Ant-Design

    Ant Design 是服务于企业级产品的设计体系,基于确定和自然的设计价值观上的模块化解决方案,让设计者和开发者专注于更好的用户体验。

    17 引用 • 23 回帖
  • 叶归
    8 引用 • 36 回帖 • 17 关注
  • 互联网

    互联网(Internet),又称网际网络,或音译因特网、英特网。互联网始于 1969 年美国的阿帕网,是网络与网络之间所串连成的庞大网络,这些网络以一组通用的协议相连,形成逻辑上的单一巨大国际网络。

    99 引用 • 367 回帖
  • BAE

    百度应用引擎(Baidu App Engine)提供了 PHP、Java、Python 的执行环境,以及云存储、消息服务、云数据库等全面的云服务。它可以让开发者实现自动地部署和管理应用,并且提供动态扩容和负载均衡的运行环境,让开发者不用考虑高成本的运维工作,只需专注于业务逻辑,大大降低了开发者学习和迁移的成本。

    19 引用 • 75 回帖 • 669 关注
  • Gzip

    gzip (GNU zip)是 GNU 自由软件的文件压缩程序。我们在 Linux 中经常会用到后缀为 .gz 的文件,它们就是 Gzip 格式的。现今已经成为互联网上使用非常普遍的一种数据压缩格式,或者说一种文件格式。

    9 引用 • 12 回帖 • 167 关注
  • Typecho

    Typecho 是一款博客程序,它在 GPLv2 许可证下发行,基于 PHP 构建,可以运行在各种平台上,支持多种数据库(MySQL、PostgreSQL、SQLite)。

    12 引用 • 67 回帖 • 451 关注
  • 微服务

    微服务架构是一种架构模式,它提倡将单一应用划分成一组小的服务。服务之间互相协调,互相配合,为用户提供最终价值。每个服务运行在独立的进程中。服务于服务之间才用轻量级的通信机制互相沟通。每个服务都围绕着具体业务构建,能够被独立的部署。

    96 引用 • 155 回帖 • 3 关注
  • 以太坊

    以太坊(Ethereum)并不是一个机构,而是一款能够在区块链上实现智能合约、开源的底层系统。以太坊是一个平台和一种编程语言 Solidity,使开发人员能够建立和发布下一代去中心化应用。 以太坊可以用来编程、分散、担保和交易任何事物:投票、域名、金融交易所、众筹、公司管理、合同和知识产权等等。

    34 引用 • 367 回帖
  • OpenShift

    红帽提供的 PaaS 云,支持多种编程语言,为开发人员提供了更为灵活的框架、存储选择。

    14 引用 • 20 回帖 • 658 关注
  • RemNote
    2 引用 • 16 回帖 • 14 关注
  • RabbitMQ

    RabbitMQ 是一个开源的 AMQP 实现,服务器端用 Erlang 语言编写,支持多种语言客户端,如:Python、Ruby、.NET、Java、C、PHP、ActionScript 等。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。

    49 引用 • 60 回帖 • 344 关注
  • Openfire

    Openfire 是开源的、基于可拓展通讯和表示协议 (XMPP)、采用 Java 编程语言开发的实时协作服务器。Openfire 的效率很高,单台服务器可支持上万并发用户。

    6 引用 • 7 回帖 • 108 关注
  • Mobi.css

    Mobi.css is a lightweight, flexible CSS framework that focus on mobile.

    1 引用 • 6 回帖 • 760 关注
  • RESTful

    一种软件架构设计风格而不是标准,提供了一组设计原则和约束条件,主要用于客户端和服务器交互类的软件。基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机制。

    30 引用 • 114 回帖 • 7 关注
  • Windows

    Microsoft Windows 是美国微软公司研发的一套操作系统,它问世于 1985 年,起初仅仅是 Microsoft-DOS 模拟环境,后续的系统版本由于微软不断的更新升级,不但易用,也慢慢的成为家家户户人们最喜爱的操作系统。

    227 引用 • 476 回帖
  • 资讯

    资讯是用户因为及时地获得它并利用它而能够在相对短的时间内给自己带来价值的信息,资讯有时效性和地域性。

    56 引用 • 85 回帖
  • 脑图

    脑图又叫思维导图,是表达发散性思维的有效图形思维工具 ,它简单却又很有效,是一种实用性的思维工具。

    32 引用 • 99 回帖
  • 架构

    我们平时所说的“架构”主要是指软件架构,这是有关软件整体结构与组件的抽象描述,用于指导软件系统各个方面的设计。另外还有“业务架构”、“网络架构”、“硬件架构”等细分领域。

    143 引用 • 442 回帖 • 1 关注