SSpirits

Typecho 新版又拍云插件使用教程
说明本插件 是又拍云文件上传插件,基于 codesee/UpyunFile 二次开发。相比于原插件:修复了启用本...
扫描右侧二维码阅读全文
21
2019/01

Typecho 新版又拍云插件使用教程

说明

本插件 是又拍云文件上传插件,基于 codesee/UpyunFile 二次开发。

相比于原插件:

  • 修复了启用本插件会影响其他替换内容插件生效的 Bug
  • 修复了某些情况下图片链接替换失败的 Bug
  • 新增:接入又拍云图片处理功能
  • 新增:为博客静态资源加入 Token 防盗链

又拍云 SDK 仅支持 PHP >= 5.6 的环境

使用方法

  1. Release 中下载此插件的最新版,上传至网站的 /usr/plugins/ 目录下。务必保持本插件文件夹名称为 UpyunFile,不能随意更改
  2. 启用该插件,正确填写相关信息,保存即可

截图.jpg

注意事项

  1. 启用又拍云图片处理需在又拍云控制台中创建缩略图版本并填入插件相应位置,文档:https://help.upyun.com/knowledge-base/image/#thumb;又拍云图片处理会忽略带有后缀 _nothumb 的图片(比如:example_nothumb.png)
  2. 如你创建的缩略图版本开启了转码功能,则需将输出格式填入插件相应位置
  3. 只有 JPG、JPEG、PNG、BMP 这 4 种格式的图片才会进行处理
  4. 启用 Token 防盗链需在又拍云控制台中启用 Token 防盗链并将密钥填入插件相应位置
  5. 自定义目录结构可以在 Typecho 根目录下的 config.inc.php 中添加代码 define('__TYPECHO_UPLOAD_DIR__', '/path/to/uploads'); 并设置目录结构为 Typecho结构

Token 防盗链功能只能修改 HTML 代码中的 CDN 链接,如果需要引入字体图片等资源请内联 CSS

更新记录:

v0.9.0:

  • 升级 SDK,修复 Bug,加入新功能

v1.0.0:

  • 控制台的文件管理中现在可以正常查看有 Token 防盗链保护的图片
  • 又拍云图片处理会忽略带有后缀 _nothumb 的图片(比如:example_nothumb.png)
  • 优化代码

v1.0.2:

  • 修复某些情况下重复添加 Token 的 bug

v1.0.3:

  • 优化代码
  • 增强兼容性

v1.0.4:

  • 解决兼容性问题

如果你有使用上的问题请在提问时写清楚你的 phptypecho 版本以及报错信息,否则一律不予回复
Last modification:April 1st, 2020 at 11:51 pm
If you think my article is useful to you, please feel free to appreciate

Leave a Comment

56 comments

  1. design

    博主能增加视频或者其它文件的上传吗?比如上传到GitHub的插件,就支持各种文件上传。如mp4,jpg,zip等等。又拍云插件貌似目前只支持上传图片到又拍云,后期更新能考虑增加其它文件吗

    1. SSpirits
      @design

      这个插件支持任意格式的附件上传

      1. design
        @SSpirits

        实测不支持mp4,如果要上传视频,需要去又拍云自己手动上传视频,然后复制链接到博客文章中插入。zip是支持的。。上传mp4显示格式不受支持。还有博主的评论回复没有邮件通知吗?没收到博主的回复通知,还是我再次打开你网站才看到的

        1. SSpirits
          @design

          检查下typecho后台上传格式限制
          回复邮件已经成功投递,请看下垃圾箱或者检查下填写的邮箱是否正确

          1. design
            @SSpirits

            好吧,又出现问题了,我上传MP4视频,大小为41M.上传的时候能看见电脑流量再跑,但是上传一会后,直接就是消失了。而且又拍云的文件里面,也并没有上传的视频文件。

          2. design
            @SSpirits

            我找到原因了,可能是因为数据库的原因,我把以前设置的mp4格式,关闭了。然后重新设置MP4格式,成功上传了。感谢博主。我检查了,果然是在垃圾箱里面

  2. 哎呦哎呦

    博主您好!
    我当前在用v1.0.4有的几个疑问想向您请请教一下。
    启用插件后直接上传附件到又拍云,如果不想用了,替换插件后下载uploads到本地就可以了吗? ,我看到文章内图片链接还是又拍云的,然后用sql语句替换文章图片链接链接。这样吗?

    1. SSpirits
      @哎呦哎呦

      可以使用插件的链接替换功能,把链接替换为你本地图片链接

  3. 污梦

    问一下,这个是自己用又拍云的云存储吗,或者是直接用cdn加速|´・ω・)ノ

    1. SSpirits
      @污梦

      当然需要用又拍云的云储存功能

  4. 低调哥

    还有请教一下
    服务名称 和 密钥 是提供 CDN 还是 云存储 的信息

    1. SSpirits
      @低调哥

      云储存的,签名过期时间见文档说明:https://help.upyun.com/knowledge-base/cdn-token-limite/

  5. 低调哥

    请教一下~签名过期时间是什么~

  6. 瞭月

    强大,正在用,过来看看,支持一下

  7. 九日

    丽奈我回来看你了,今天域名刚备案过了,就急着去配置cdn,先和群友忙活一上午配置了腾讯云,发现用不习惯。没有又拍那么简洁方便,东西一大堆完全搞不懂,最后还是转回又拍。
    转回来了cdn,发现有上传插件出了问题,一张大图怎么传都出错,又从腾讯云和又拍云的上传插件中来回切换测试,结果又白忙了一下午,什么也没解决,一肚子气。
    然后刚刚百度搜了一下相关问题,从泽泽那又回来这里了,下载来随便试一下,没想到竟然成了
    我的天呐我一个小白还是不要去玩什么cdn特别是腾讯的这些玩意了,缓存规则就能劝退我.......
    用你的插件解决了半天的困扰,唉,憋得我。

    1. SSpirits
      @九日

      感谢选用,高考加油哦 qwq

  8. Tominysun

    非常感谢博主的辛勤付出!本来我还在发愁typecho的上传插件怎么写,突然发现有现成的轮子!太棒了!?
    我刚刚试用了,我的需求不高,目前已经完美实现了.(虽然我改了一点插件代码)
    这里向博主提个小建议哈,我的目录格式不符合插件提供的任何一种类型,于是我把插件默认的typecho目录修改了.
    不过因为修改代码不太好,说不定下次更新还要再改一遍.还是希望博主可以添加自定义上传目录格式的功能.
    我的使用反馈:https://www.jiangxu.site/recently-enabled-upyun-attachment-upload-plugins.html
    不过这也不是什么大问题,有空了更新下就好啦!?

    1. SSpirits
      @Tominysun

      感谢反馈,本插件支持自定义目录,请阅读注意事项第 5 条

      1. Tominysun
        @SSpirits

        emmm...好像忘记看了呢...?
        多谢提醒,这样也比我原来的好些!

  9. Muze

    感谢博主的辛勤付出,我将博主发布的资料整理了一下,发布在这个链接:
    https://www.npc.ink/6583.html

    1. SSpirits
      @Muze

      多谢推广

  10. 夏目贵志

    图片处理不起作用,是不是我哪里设置错误了!!

    1. SSpirits
      @夏目贵志

      图片处理需要先在又拍云创建规则

  11. ling

    插件可以启用成功,然后设置:绑定域名,名称,操作员,密码,其它的都是默认,点击保存,“会一直没有提示",不知道有没有保存成功,然后我点击到其它地方,它就显示保存成功了,不知道这是什么原因?

    保存成功以后,再次去点击保存,就不会出现问题了,会提示 插件设置已经保存 ,后台没有启用其它插件,1.0.4版本。当然了,也启用成功了,也设置好了,可以正常上传图片。唯一的就是新安装此插件,会出现刚刚那个问题

  12. 心灵导师安德烈

    你好我想问一下这个插件基本功能就是上传的文件直接存到又拍云的对象存储吗,缩略图处理能在文章自动添加thumb字段吗,再就是文章已经上传的图片,配置好插件后会自动上传到又拍云然后替换链接吗,还是只是用又拍云的CDN加速服务加速一下

    1. SSpirits
      @心灵导师安德烈

      基础功能就是图片和其他附件上传到又拍云
      需要手动在文件名后加 thumb
      配置中可选是否处理之前的图片

      1. 心灵导师安德烈
        @SSpirits

        处理之前的图片是怎么处理,上传到又拍云空间替换链接还是直接用又拍云的CDN加速

        1. SSpirits
          @心灵导师安德烈

          只替换链接,需要你手动上传目录

  13. 如默
    该评论仅登录用户及评论双方可见
  14. 洛小依
    该评论仅登录用户及评论双方可见
    1. SSpirits
      @洛小依
      该评论仅登录用户及评论双方可见
  15. geekpig

    目前来说用着已经满足需求了,感谢作者的辛勤付出。

  16. 李多多

    操作员添加后提示 验证不通过,请核对 Upyun 操作员和密码是否输入正确 php7.2

  17. 微秒蜂巢

    成功上传到又拍云服务器了.但是附件那里一直转圈.需要刷新才能看到地址
    Uncaught SyntaxError: Unexpected token < in JSON at position 0

    at JSON.parse ()

    解决办法:因为 fcose()函数报错,在140多行,请直接修改@fclose();

    ======================================
    希望:本插件是属于服务器中转,希望出一个 点对点上传,从后端获取上传token,然后直接对又拍云OSS进行上传

    1. SSpirits
      @微秒蜂巢

      升级到最新版可以解决这个问题
      至于前端上传相当于重写了,暂时没有这个计划

  18. 鸟不拉屎

    厉害,刚刚用上了,感谢
    前来打call

  19. QvBiLam

    成功上传到又拍云服务器了.但是附件那里一直转圈.需要刷新才能看到地址
    Uncaught SyntaxError: Unexpected token < in JSON at position 0

    at JSON.parse (<anonymous>)
    1. SSpirits
      @QvBiLam

      试试 v1.0.4,刚解决了另一位博主的类似问题

      1. QvBiLam
        @SSpirits

        邮件通知的回复内容正好看 也是用的插件吗

        1. SSpirits
  20. Airs_Lau

    Typecho 后台开启插件 后 显示server Error

    1. SSpirits
      @Airs_Lau

      试试 v1.0.3
      如果还有问题把报错贴上

      1. 门寒子
        @SSpirits

        已解决,原因是解压后文件夹名称是UpyunFile-UpyunFile,需要更改为UpyunFile

        1. lzy
          @门寒子

          你的PHP是什么版本的啊?

  21. Kiwiape

    在后台的文件管理里还是没有修改链接,也不会加上token,导致后台查看不了文件。。。。

    1. Kiwiape
      @Kiwiape

      我还发现,新添加的附件,会以 https://newdomain.com/usr/upload/year/month/ 的形式插入文章,可我设置的格式是 https://newdomain.com/year/month/
      (。•ˇ‸ˇ•。)

      1. SSpirits
        @Kiwiape

        按年月日形式插入需设置成精简结构,文件管理里加上 Token 的功能不是刚需,考虑在以后的版本里加入

        1. Kiwiape
          @SSpirits

          是在设置成精简结构的状态下,不会自动修改链接。
          不过后来我重新来回切换了一下路径结构,就神奇地能自动切换了。
          不知是兼容bug还是什么原因,总之现在能用了。感谢大佬!

  22. 千玖夜

    传输大概大于5MB的文件会失败,而且附件区一直显示在传输……修改过php.ini和nginx.conf了(´இ皿இ`)

    1. SSpirits
      @千玖夜

      我这实测百兆文件没有问题。你可以看一下主站 CDN 的配置,或者把报错发下。

      1. AK
        @SSpirits

        传输大概大于5MB的文件会失败,而且附件区一直显示在传输……修改过php.ini和nginx.conf了.

        同样遇到这个问题,求解决方法。

        1. AK
          @AK

          emmmm,解决了,10M图片上传成功,插件版本问题。

  23. 萧小七

    图片上传失败,但是刷新之后会出现在附件里边,不知道什么原因!

    1. SSpirits
      @萧小七

      贴下报错。

      1. 萧小七
        @SSpirits

        上传之后,附件那一栏显示上传失败,没有其他的报错

        1. SSpirits
          @萧小七

          我的意思是你 f12 看下 Network 标签里的报错,一般来说不是你网络问题就是设置问题