数据库是否支持图床

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

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

image.png

  • 思源笔记

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

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

    22007 引用 • 87750 回帖 • 2 关注
  • 图床
    33 引用 • 155 回帖 • 1 关注
  • Q&A

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

    7932 引用 • 36284 回帖 • 169 关注

相关帖子

欢迎来到这里!

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

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

    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
请输入回帖内容 ...

推荐标签 标签

  • Hibernate

    Hibernate 是一个开放源代码的对象关系映射框架,它对 JDBC 进行了非常轻量级的对象封装,使得 Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。

    39 引用 • 103 回帖 • 705 关注
  • 新人

    让我们欢迎这对新人。哦,不好意思说错了,让我们欢迎这位新人!
    新手上路,请谨慎驾驶!

    52 引用 • 228 回帖
  • Laravel

    Laravel 是一套简洁、优雅的 PHP Web 开发框架。它采用 MVC 设计,是一款崇尚开发效率的全栈框架。

    20 引用 • 23 回帖 • 723 关注
  • 阿里云

    阿里云是阿里巴巴集团旗下公司,是全球领先的云计算及人工智能科技公司。提供云服务器、云数据库、云安全等云计算服务,以及大数据、人工智能服务、精准定制基于场景的行业解决方案。

    89 引用 • 345 回帖
  • 支付宝

    支付宝是全球领先的独立第三方支付平台,致力于为广大用户提供安全快速的电子支付/网上支付/安全支付/手机支付体验,及转账收款/水电煤缴费/信用卡还款/AA 收款等生活服务应用。

    29 引用 • 347 回帖
  • 安装

    你若安好,便是晴天。

    132 引用 • 1184 回帖
  • TensorFlow

    TensorFlow 是一个采用数据流图(data flow graphs),用于数值计算的开源软件库。节点(Nodes)在图中表示数学操作,图中的线(edges)则表示在节点间相互联系的多维数据数组,即张量(tensor)。

    20 引用 • 19 回帖
  • Kubernetes

    Kubernetes 是 Google 开源的一个容器编排引擎,它支持自动化部署、大规模可伸缩、应用容器化管理。

    110 引用 • 54 回帖 • 3 关注
  • 酷鸟浏览器

    安全 · 稳定 · 快速
    为跨境从业人员提供专业的跨境浏览器

    3 引用 • 59 回帖 • 31 关注
  • 深度学习

    深度学习(Deep Learning)是机器学习的分支,是一种试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。

    52 引用 • 40 回帖
  • 服务器

    服务器,也称伺服器,是提供计算服务的设备。由于服务器需要响应服务请求,并进行处理,因此一般来说服务器应具备承担服务并且保障服务的能力。

    124 引用 • 580 回帖 • 1 关注
  • Electron

    Electron 基于 Chromium 和 Node.js,让你可以使用 HTML、CSS 和 JavaScript 构建应用。它是一个由 GitHub 及众多贡献者组成的活跃社区共同维护的开源项目,兼容 Mac、Windows 和 Linux,它构建的应用可在这三个操作系统上面运行。

    15 引用 • 136 回帖 • 1 关注
  • CSS

    CSS(Cascading Style Sheet)“层叠样式表”是用于控制网页样式并允许将样式信息与网页内容分离的一种标记性语言。

    197 引用 • 547 回帖 • 1 关注
  • CodeMirror
    1 引用 • 2 回帖 • 126 关注
  • 30Seconds

    📙 前端知识精选集,包含 HTML、CSS、JavaScript、React、Node、安全等方面,每天仅需 30 秒。

    • 精选常见面试题,帮助您准备下一次面试
    • 精选常见交互,帮助您拥有简洁酷炫的站点
    • 精选有用的 React 片段,帮助你获取最佳实践
    • 精选常见代码集,帮助您提高打码效率
    • 整理前端界的最新资讯,邀您一同探索新世界
    488 引用 • 383 回帖 • 6 关注
  • 倾城之链
    23 引用 • 66 回帖 • 138 关注
  • 游戏

    沉迷游戏伤身,强撸灰飞烟灭。

    176 引用 • 815 回帖
  • 设计模式

    设计模式(Design pattern)代表了最佳的实践,通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。

    200 引用 • 120 回帖 • 1 关注
  • 机器学习

    机器学习(Machine Learning)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。

    83 引用 • 37 回帖 • 1 关注
  • 书籍

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

    77 引用 • 390 回帖
  • Ant-Design

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

    17 引用 • 23 回帖
  • Ngui

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

    7 引用 • 9 回帖 • 388 关注
  • VirtualBox

    VirtualBox 是一款开源虚拟机软件,最早由德国 Innotek 公司开发,由 Sun Microsystems 公司出品的软件,使用 Qt 编写,在 Sun 被 Oracle 收购后正式更名成 Oracle VM VirtualBox。

    10 引用 • 2 回帖 • 12 关注
  • 前端

    前端技术一般分为前端设计和前端开发,前端设计可以理解为网站的视觉设计,前端开发则是网站的前台代码实现,包括 HTML、CSS 以及 JavaScript 等。

    247 引用 • 1347 回帖
  • C

    C 语言是一门通用计算机编程语言,应用广泛。C 语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

    85 引用 • 165 回帖
  • Wide

    Wide 是一款基于 Web 的 Go 语言 IDE。通过浏览器就可以进行 Go 开发,并有代码自动完成、查看表达式、编译反馈、Lint、实时结果输出等功能。

    欢迎访问我们运维的实例: https://wide.b3log.org

    30 引用 • 218 回帖 • 625 关注
  • WebSocket

    WebSocket 是 HTML5 中定义的一种新协议,它实现了浏览器与服务器之间的全双工通信(full-duplex)。

    48 引用 • 206 回帖 • 346 关注