Solo 文件上传配置

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

在 Solo 中使用文件上传到七牛云请按照如下步骤操作:

  1. 首先需要注册七牛,并进行个人认证。成为七牛的标准用户后就能够完全免费使用七牛提供的文件存储服务了:
    9524b04f0dbb4589b4a524cf0549e979-qn1.jpg
  2. 在七牛后台 -> 个人中心 -> 密钥管理,记录下 AK 和 SK,稍后会用到
    ec5eb59d4f6542e1bcb5eea13695e945-qn2.jpg
  3. 在七牛后台 -> 资源主页 -> 对象存储 -> 立即添加,存储区域请选择华东,访问控制请选择公开空间。然后在七牛后台 -> 对象存储 就可以看到刚才创建的存储空间,记录一下该空间的域名,稍后会用到
    d8156d502e984585a1218f57c759ccd5-qn3.jpg
    区域一定要用 华东 ,否则在 Solo 中上传时会 400 错误,具体报错现象请参考这里。另外,七牛给的这个域名是测试域名,只能用 30 天,请绑定自己的域名后再使用!
  4. 在 Solo 后台 -> 工具 -> 偏好设定 -> 七牛,填入刚才记录的 AK、SK、域名、以及 Bucket(空间名)并提交更新
    qiniuconfpng

配置完成后在写博文时就可以直接上传文件了,编辑器中会自动插入上传后的链接地址。大家在使用中有任何问题,欢迎跟帖 🍇


从 v2.8.0 起如果你想上传文件到服务器本地,请将 solo.properties 中的 uploadDir 项配置为要服务器上保存上传文件的目录路径,比如 /home/solo/upload/D:\\solo\\upload\\。请注意,一旦配置了该项,则优先使用文件上传服务器本地,不会上传到七牛云。


从 v2.9.8 起已经支持阿里云 OSS,感谢 @hzchendou 的贡献 ❤️ https://hacpai.com/article/1544354243204


v3.0.0 删除了七牛云、阿里云 OSS 以及本地文件上传支持,但内置了社区提供的文件存储 + CDN,大家可以直接使用。

  • Solo

    Solo 是一款小而美的开源博客系统,专为程序员设计。Solo 有着非常活跃的社区,可将文章作为帖子推送到社区,来自社区的回帖将作为博客评论进行联动(具体细节请浏览 B3log 构思 - 分布式社区网络)。

    这是一种全新的网络社区体验,让热爱记录和分享的你不再感到孤单!

    1434 引用 • 10054 回帖 • 489 关注
  • 七牛云

    七牛云是国内领先的企业级公有云服务商,致力于打造以数据为核心的场景化 PaaS 服务。围绕富媒体场景,七牛先后推出了对象存储,融合 CDN 加速,数据通用处理,内容反垃圾服务,以及直播云服务等。

    27 引用 • 225 回帖 • 168 关注
  • 文件上传
    8 引用 • 133 回帖
  • 文档
    56 引用 • 1289 回帖 • 2 关注

相关帖子

优质回帖
  • 88250 1 赞同

    上传那个有超时限制,进入后台以后 1 小时以内有效。下个版本会调整为 6 小时。目前你可以尝试保存好当前内容后刷新页面再进入编辑应该就可以了。

  • sykblue 1 1 赞同

    imagepng
    不好意思啊,是我本地环境的问题,刚刚我换了一台机子,还是 ubuntu 没有这个问题,然后再我的机子上,找到了原因,如图,因为系统自动打开了 XX-NET 软件,然后默认打开代理,最终就上传不了大点的图片了,把代理改成直连,然后就好了,具体原因,暂时还不知道,谢谢解答。

  • dengwentong 1

    v3.0.0 删除了七牛云、阿里云 OSS 以及本地文件上传支持,但内置了社区提供的文件存储 + CDN,大家可以直接使用。

    D 大 用了自己的空间给你们免费上传图片使用,这样多好,感谢 D 大!😄
    我想说一句,D 大连 SEO 也学的贼 6 呢。🎉

欢迎来到这里!

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

注册 关于
请输入回帖内容 ...
  • cahdGong

    QQ20180506013611png
    不行啊,我这样配置的,七牛那边没问题,图片上传上去了,但是这个博客系统解析图片地址的时候回自动加上我的 ip

    1 回复
  • 88250

    我不是说了么:加上协议

    1 回复
  • cahdGong

    大佬,就是不懂加什么协议啊,怎么加能指点一下吗

    1 回复
  • 88250

    http

    1 回复
  • cahdGong

    哈哈,感觉自己问了个弱智问题,还是非常感谢您的耐心解答

    1 回复
  • 88250

    早点休息,晚安。

    1 回复
  • cahdGong

    晚安

  • sykblue

    上传文件太大就报错(大小 84kb 左右),目前是用的 2.9 版本,配置的上传到本地,错误如下(测试出来,应该是和 linux 下浏览器兼容性出了问题,我测试了在 linux 下 chrome 或者 firefox 都是这样的情况,但是在 windows 上没有这个问题,哦包括现在我回复,这里也同样上传不了下面这张图片-在 windows 上回复的,)

    imagepng

    2 回复
  • 88250

    84K 很小嘛.. @Vanessa 帮忙看看

  • 你是拖拽上传还是点击上传按钮上传?还是直接截图?还是在文件夹中复制图片?还是在网页中拷贝的图片?

  • sykblue

    上传文件大小就报错(大小 84kb 左右),现在上传文件,目前是用的 2.9 版本,配置的上传到本地还是报错,两种方式都不行,我用的是 ubuntu16.04 的版本

    2 回复
  • 88250

    我这里重现不了啊

    1 回复
  • 图片没上传成功

  • sykblue

    imagepng
    不会吧,就是这个错误啊,ubuntu16.04 这个版本,chrome 版本:
    imagepng

    1 回复
  • 88250

    奇怪了,我这里重现不了啊

    1 回复
  • sykblue

    imagepng
    这个是 firfox 的错误

  • sykblue

    刚刚打开的时候有这个错误
    无法载入 ‘https://hm.baidu.com/hm.js?f241a238dc8343347478081db6c7cf5c’。某个 ServiceWorker 传递了 promise 给解析除了非响应值 ‘undefined’ 的 FetchEvent.respondWith()。 sw.min.js:1:1577

  • sykblue 1 1 赞同

    imagepng
    不好意思啊,是我本地环境的问题,刚刚我换了一台机子,还是 ubuntu 没有这个问题,然后再我的机子上,找到了原因,如图,因为系统自动打开了 XX-NET 软件,然后默认打开代理,最终就上传不了大点的图片了,把代理改成直连,然后就好了,具体原因,暂时还不知道,谢谢解答。

    2 回复
  • 跟到代码,正准备让你看看上传的 response

    1 回复
  • sykblue

    👍 谢谢

  • 88250

    科学上网 https://www.v2ray.com

    1 回复
  • sykblue

    好东西,谢谢

  • cicicc

    Snipaste_20180726_083228jpg

    Snipaste_20180726_083217jpg

    大佬,请问一下我上传了图片以后并没有直接显示出图片来,而是只有一个指向图片的链接,点击链接可以正常打开图片,控制台并没有报错这样的情况应该怎么解决.

    1 回复
  • 88250

    这是因为编辑器处理时候有点 bug,没有插入正确的 markdown 图片。今天发布 v2.9.2 会修复这个问题,记得更新。

    1 回复
  • cicicc

    好的,谢谢

  • Qiqi

    Solo 将图片上传位置设置到我自己的服务器了,solo.properties 配置无误,然而还是无法上传,F12 发现错误如下
    erruploadpng

    1 回复
  • 88250

    可能是配置了 HTTPS 后后客户端 js 没有刷新导致,你强制刷新下应该就好了。

  • Qiqi

    刷新的话原来输入的就都没了,你说的是浏览器的刷新吧,还是报那个错误,是不是框架的上传没有配置 https 啊

    1 回复
  • 88250

    代码用的是 latke.props 的配置,你清理下缓存强制刷新看看。

  • Qiqi

    缓存清理了,然而在传输的时候 chrome 浏览器出现不安全脚本提示
    chromejpg
    然后我点击继续加载然后上传出现了跨域问题
    crossoriginjpg

    1 回复
  • 88250

    NGINX 怎么配置的呢?

  • Qiqi

    nginx 配置了 https,然后通过 proxy_pass 做端口转发到 tomcat 的 8080 端口

    server {
        listen 443;
        server_name www.heroneverdie.com;
        access_log /data/wwwlogs/access_nginx.log combined;
        root /data/wwwroot/default;
        index index.html index.htm index.jsp;
        #error_page 404 /404.html;
        #error_page 502 /502.html;
            ssl on;
            ssl_certificate 1_www.heroneverdie.com_bundle.crt;
            ssl_certificate_key 2_www.heroneverdie.com.key;
            ssl_session_timeout 5m;
            ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #按照这个协议配置
            ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;#按照这个套件配置
            ssl_prefer_server_ciphers on;
        location /nginx_status {
          stub_status on;
          access_log off;
          allow 127.0.0.1;
        }
        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ {
          proxy_pass http://127.0.0.1:8080;
          expires 30d;
          access_log off;
        }
        location ~ .*\.(js|css)?$ {
          proxy_pass http://127.0.0.1:8080;
          expires 7d;
          access_log off;
        }
        location ~ {
          proxy_pass http://127.0.0.1:8080;
          include proxy.conf;
        }
        location ~ /\.ht {
                proxy_pass http://127.0.0.1:8080;
        }
      }
    ########################## vhost #############################
      include vhost/*.conf;
    } 
    
    
    1 回复
  • 88250

    你证书是 www 二级域名的,不是顶级域名的。

    1 回复
  • Qiqi

    所以出现了这样的错误嘛😂 ,那岂不是要重新弄个证书

    1 回复
  • 88250

    latke.props 里面域名配置成带 www 的就行了嘛。

    1 回复
  • Qiqi

    sslerrorpng

    securitypng
    好像内部连接有的还是没有采用 https,而 latke 中已经配置了 https 呀,导致出现了混合内容被阻止

    1 回复
  • 88250

    你看下具体是哪个请求,前台的话可以对比我的博客看 https://88250.b3log.org

    1 回复
  • Qiqi

    嗯嗯,弄好了,原因是 nginx 文件夹里不知怎么回事多出了一个 upload 文件夹,和请求名重复了。对了,我保存在草稿里的文章为何改完点击发布后一直无法提交,点击一次发布左上角就显示一下载入中...然后这三个字就消失了,页面也没跳转还停留在当前页面

    1 回复
  • 88250

    F12 和日志都看下吧。

    1 回复
  • Qiqi

    F12 浏览器记录:

    f12png
    Tomcat 日志记录:(篇幅太大超过字数限制了,我上传截图)

    tomcat1png

    tomcat2png

    1 回复
  • 88250

    你自己打的包么?依赖库不全。

    1 回复
  • Qiqi

    下载的 war 包解压后全部拷贝到相应目录下的,没有删除或增加一个文件

    1 回复
  • 88250

    你的 Tomcat 依赖库有手动调整过么?

    1 回复
  • Qiqi

    并没有啊
    tomcatpng

    1 回复
  • 88250

    那就奇怪了..这个报错是推送社区的报错,先忽略,不影响发布文章才对。你可以试着自己拉代码看看,我这里实在是重现不了 😅

    2 回复
  • Qiqi 1

    发布是不影响

  • moonce

    D 大,七牛的样式分割符可以用么?是选择“/”么?

    1 回复
  • 88250 1

    你试试,应该可以。

    1 回复
  • moonce

    要 24 小时后生效😭 ,我在等。。。

  • moonce

    D 大,开始没用七牛,现在用有什么好办法把原来得图片导过去么

    1 回复
请输入回帖内容 ...

推荐标签 标签

  • 禅道

    禅道是一款国产的开源项目管理软件,她的核心管理思想基于敏捷方法 scrum,内置了产品管理和项目管理,同时又根据国内研发现状补充了测试管理、计划管理、发布管理、文档管理、事务管理等功能,在一个软件中就可以将软件研发中的需求、任务、bug、用例、计划、发布等要素有序的跟踪管理起来,完整地覆盖了项目管理的核心流程。

    6 引用 • 15 回帖 • 116 关注
  • TextBundle

    TextBundle 文件格式旨在应用程序之间交换 Markdown 或 Fountain 之类的纯文本文件时,提供更无缝的用户体验。

    1 引用 • 2 回帖 • 49 关注
  • flomo

    flomo 是新一代 「卡片笔记」 ,专注在碎片化时代,促进你的记录,帮你积累更多知识资产。

    5 引用 • 107 回帖
  • Hprose

    Hprose 是一款先进的轻量级、跨语言、跨平台、无侵入式、高性能动态远程对象调用引擎库。它不仅简单易用,而且功能强大。你无需专门学习,只需看上几眼,就能用它轻松构建分布式应用系统。

    9 引用 • 17 回帖 • 609 关注
  • Facebook

    Facebook 是一个联系朋友的社交工具。大家可以通过它和朋友、同事、同学以及周围的人保持互动交流,分享无限上传的图片,发布链接和视频,更可以增进对朋友的了解。

    4 引用 • 15 回帖 • 453 关注
  • Angular

    AngularAngularJS 的新版本。

    26 引用 • 66 回帖 • 536 关注
  • RabbitMQ

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

    49 引用 • 60 回帖 • 362 关注
  • Flume

    Flume 是一套分布式的、可靠的,可用于有效地收集、聚合和搬运大量日志数据的服务架构。

    9 引用 • 6 回帖 • 632 关注
  • CodeMirror
    1 引用 • 2 回帖 • 131 关注
  • 创业

    你比 99% 的人都优秀么?

    84 引用 • 1399 回帖
  • Python

    Python 是一种面向对象、直译式电脑编程语言,具有近二十年的发展历史,成熟且稳定。它包含了一组完善而且容易理解的标准库,能够轻松完成很多常见的任务。它的语法简捷和清晰,尽量使用无异义的英语单词,与其它大多数程序设计语言使用大括号不一样,它使用缩进来定义语句块。

    543 引用 • 672 回帖 • 1 关注
  • 强迫症

    强迫症(OCD)属于焦虑障碍的一种类型,是一组以强迫思维和强迫行为为主要临床表现的神经精神疾病,其特点为有意识的强迫和反强迫并存,一些毫无意义、甚至违背自己意愿的想法或冲动反反复复侵入患者的日常生活。

    15 引用 • 161 回帖
  • RYMCU

    RYMCU 致力于打造一个即严谨又活泼、专业又不失有趣,为数百万人服务的开源嵌入式知识学习交流平台。

    4 引用 • 6 回帖 • 52 关注
  • PostgreSQL

    PostgreSQL 是一款功能强大的企业级数据库系统,在 BSD 开源许可证下发布。

    22 引用 • 22 回帖
  • AngularJS

    AngularJS 诞生于 2009 年,由 Misko Hevery 等人创建,后为 Google 所收购。是一款优秀的前端 JS 框架,已经被用于 Google 的多款产品当中。AngularJS 有着诸多特性,最为核心的是:MVC、模块化、自动化双向数据绑定、语义化标签、依赖注入等。2.0 版本后已经改名为 Angular。

    12 引用 • 50 回帖 • 474 关注
  • ReactiveX

    ReactiveX 是一个专注于异步编程与控制可观察数据(或者事件)流的 API。它组合了观察者模式,迭代器模式和函数式编程的优秀思想。

    1 引用 • 2 回帖 • 156 关注
  • JetBrains

    JetBrains 是一家捷克的软件开发公司,该公司位于捷克的布拉格,并在俄国的圣彼得堡及美国麻州波士顿都设有办公室,该公司最为人所熟知的产品是 Java 编程语言开发撰写时所用的集成开发环境:IntelliJ IDEA

    18 引用 • 54 回帖 • 2 关注
  • SendCloud

    SendCloud 由搜狐武汉研发中心孵化的项目,是致力于为开发者提供高质量的触发邮件服务的云端邮件发送平台,为开发者提供便利的 API 接口来调用服务,让邮件准确迅速到达用户收件箱并获得强大的追踪数据。

    2 引用 • 8 回帖 • 483 关注
  • GAE

    Google App Engine(GAE)是 Google 管理的数据中心中用于 WEB 应用程序的开发和托管的平台。2008 年 4 月 发布第一个测试版本。目前支持 Python、Java 和 Go 开发部署。全球已有数十万的开发者在其上开发了众多的应用。

    14 引用 • 42 回帖 • 764 关注
  • 互联网

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

    98 引用 • 344 回帖
  • Laravel

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

    20 引用 • 23 回帖 • 723 关注
  • 又拍云

    又拍云是国内领先的 CDN 服务提供商,国家工信部认证通过的“可信云”,乌云众测平台认证的“安全云”,为移动时代的创业者提供新一代的 CDN 加速服务。

    21 引用 • 37 回帖 • 547 关注
  • 代码片段

    代码片段分为 CSS 与 JS 两种代码,添加在 [设置 - 外观 - 代码片段] 中,这些代码会在思源笔记加载时自动执行,用于改善笔记的样式或功能。

    用户在该标签下分享代码片段时需在帖子标题前添加 [css] [js] 用于区分代码片段类型。

    70 引用 • 375 回帖
  • jQuery

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

    63 引用 • 134 回帖 • 722 关注
  • 微服务

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

    96 引用 • 155 回帖 • 2 关注
  • Chrome

    Chrome 又称 Google 浏览器,是一个由谷歌公司开发的网页浏览器。该浏览器是基于其他开源软件所编写,包括 WebKit,目标是提升稳定性、速度和安全性,并创造出简单且有效率的使用者界面。

    62 引用 • 289 回帖
  • SpaceVim

    SpaceVim 是一个社区驱动的模块化 vim/neovim 配置集合,以模块的方式组织管理插件以
    及相关配置,为不同的语言开发量身定制了相关的开发模块,该模块提供代码自动补全,
    语法检查、格式化、调试、REPL 等特性。用户仅需载入相关语言的模块即可得到一个开箱
    即用的 Vim-IDE。

    3 引用 • 31 回帖 • 101 关注