V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
bearcat001
V2EX  ›  分享创造

更新了 Dropzone 的七牛上传插件,安装简单化,并支持一键上传剪切板图片

  •  
  •   bearcat001 ·
    suyan · 2015-12-21 08:10:29 +08:00 · 6377 次点击
    这是一个创建于 3260 天前的主题,其中的信息可能已经有所发展或是发生改变。

    之前这个插件是用 Ruby 写的,得手动在本地装一下 qiniu 的 ruby sdk 。现在 Dropzone 支持 Python 了,所以重新写了一下,更加方便快捷~ 介绍在我的博客,下载地址戳这里

    2015.12.20 更新

    • 此次更新用 Python 替代了 Ruby ,不需要再自己安装 qiniu 的 ruby 包,我已经集成在 bundle 里面
    • 增加了一个 pngpaste 在包里,这样直接点击 action 会把剪切板内的图片上传 (已测试系统截图, QQ 截图以及 Monosnap),原来的"点击打开七牛官网"功能在剪切版没有图片时生效
    • 增加了图片重名检查

    原来已有功能:

    • 拖拽图片直接上传到七牛,并备份一份到本地某个文件夹(可选)
    • 点击 Action 图标打开七牛图片目录列表进行管理

    我把包传到了 Dropzone 官方包管理库里,不出意外以后这个包可以从他们官网下载,而且可以自动更新。

    如果有什么建议和反馈多谢在下面留言。

    第 1 条附言  ·  2015-12-21 10:59:25 +08:00

    刚刚他们开发者确认了这个插件已经传到了官方插件列表里,可以直接通过这个链接一键安装了

    58 条回复    2017-01-24 00:28:53 +08:00
    chztv
        1
    chztv  
       2015-12-21 08:46:32 +08:00
    @bearcat001 有没有又拍云的插件?
    bearcat001
        2
    bearcat001  
    OP
       2015-12-21 09:12:03 +08:00
    @chztv 我没用又拍云。
    Dropzone 开发一个插件很容易,你可以看看文档~
    hatcloud
        3
    hatcloud  
       2015-12-21 09:15:03 +08:00
    正愁 Imgur 一键上传没法用呢,非常感谢楼主雪中送炭
    hatcloud
        4
    hatcloud  
       2015-12-21 09:15:37 +08:00
    @chztv
    @bearcat001 哈哈,你们俩头像好像俩兄弟
    iugo
        5
    iugo  
       2015-12-21 09:21:22 +08:00
    微博是个好图床.
    chztv
        6
    chztv  
       2015-12-21 09:39:39 +08:00
    @hatcloud 呵呵 被你一说还真有点像……
    chztv
        7
    chztv  
       2015-12-21 09:40:19 +08:00
    @bearcat001 嗯,还没买 Dropzone ,一直想着有啥用呢。现在写 Blog 都是用 SFTP 直接上传图片到又拍……
    hatcloud
        8
    hatcloud  
       2015-12-21 09:46:44 +08:00
    @bearcat001 上传不了是什么原因?我确认参数都是对的,而且我也可以用其他工具上传图片到七牛,用的是相同的参数。

    下面是 Debug 信息:

    ACTION: "/Users/Jeff/Library/Application Support/Dropzone 3/Actions/Qiniu.dzbundle"
    EVENT: "dragged"
    VARIABLE: "server" "hat-picture"
    VARIABLE: "dragged_type" "files"
    VARIABLE: "password" "••••"
    VARIABLE: "password_variable" "password"
    VARIABLE: "app_version" "3.5.4"
    VARIABLE: "support_folder" "/Users/Jeff/Library/Application Support/Dropzone 3"
    VARIABLE: "username" "••••"
    VARIABLE: "remote_path" "~/Documents/Qiniu_bak"
    VARIABLE: "root_url" "7rf2j7.com1.z0.glb.clouddn.com"
    ITEMS: "/Users/Jeff/Pictures/扫描 0.jpeg"

    Begin_Message: Starting uploading...
    Determinate: 1
    Progress: 10
    Fail: Upload Failed
    joeytat
        9
    joeytat  
       2015-12-21 09:55:02 +08:00
    非常感谢~一直都在使用这个插件。也正是看了您的博客才去买了 dropzone 。 : ]
    hatcloud
        10
    hatcloud  
       2015-12-21 10:00:09 +08:00
    @bearcat001 可能是我自己的问题,我 imgur 的插件也用不了。我给作者发邮件求助了,希望能解决吧,不然写东西的时候传图片挺麻烦的。
    bearcat001
        11
    bearcat001  
    OP
       2015-12-21 10:17:02 +08:00
    @hatcloud 不应该呀,我刚刚测试过,你是商店版的 Dropzone 吗?
    bearcat001
        12
    bearcat001  
    OP
       2015-12-21 10:17:20 +08:00
    @chztv Dropzone 最近在打折,可以看看
    hatcloud
        13
    hatcloud  
       2015-12-21 10:31:47 +08:00
    @bearcat001 不是,已经用官网下的版本覆盖了 MAS 的版本了
    hatcloud
        14
    hatcloud  
       2015-12-21 10:32:40 +08:00
    @bearcat001 我以为是网络问题,可挂了全局代理还是会一样出问题
    hatcloud
        15
    hatcloud  
       2015-12-21 10:40:06 +08:00
    @hatcloud 应该是 DropZone 的问题,我刚才尝试了 N 个服务器的代理,已经联通的 4G ,都失败,无论 Imgur 或者七牛。
    而且我使用网页是可以上传 Imgur 的,使用以前在 V2EX 上有人推荐的 Incredible 的 App 是可以上传的。可惜这个软件对 Mac 支持很差,似乎是用什么工具封装的,没做什么优化,要不然很好用了。
    bearcat001
        16
    bearcat001  
    OP
       2015-12-21 11:01:58 +08:00
    @hatcloud 好吧,这个问题我没遇到过.. 你可以跟他们反映一下
    对了,你没有装 snitch 这类网络限制软件吧,这个可能限制了一些应用访问网络
    sunxiaonian
        17
    sunxiaonian  
       2015-12-21 11:03:46 +08:00
    非常好用,先谢谢!
    不过有个问题,我复制了一张图片,每次插件都会让我填写文件名,这个如何取消?不知道能不能添加自动识别文件名的设置...
    sunxiaonian
        18
    sunxiaonian  
       2015-12-21 11:11:18 +08:00
    希望增加一个随机文件名的选项,勾选之后随机生成文件名,简化由剪切板上传的过程。
    bearcat001
        19
    bearcat001  
    OP
       2015-12-21 12:26:21 +08:00
    @sunxiaonian 我的习惯是临时图片也起个名字,毕竟有利于管理。你希望这么做的话,可以在自己本地修改一下代码。把 100-108 行删掉,换成
    file_name = uuid.uuid4() + '.' + imghdr.what(file_path)
    就行了,记得在开头加上下面这一行
    import uuid
    sunxiaonian
        20
    sunxiaonian  
       2015-12-21 16:13:06 +08:00
    r#19 @bearcat001 谢谢大大!么么哒!用了你的脚本直接做了个图床插件,经过配置可以很大程度简化工作流程。
    sunxiaonian
        21
    sunxiaonian  
       2015-12-21 16:23:42 +08:00
    r#19 @bearcat001 啊...提示错误了...
    sunxiaonian
        22
    sunxiaonian  
       2015-12-21 17:22:44 +08:00
    r#19 @bearcat001

    Traceback (most recent call last):
    File "/Applications/Dropzone 3.app/Contents/Actions/lib/python_runner.py", line 13, in <module>
    getattr(action, action_name)()
    File "/Users/sunxiaonian/Library/Application Support/Dropzone 3/Actions/Qiniu Copy2.dzbundle/action.py", line 100, in clicked
    file_name = uuid.uuid4() + '.' + imghdr.what(file_path)
    NameError: global name 'uuid' is not defined
    bearcat001
        23
    bearcat001  
    OP
       2015-12-21 17:26:29 +08:00 via iPhone
    @sunxiaonian 你 import uuuid 了吗?
    sunxiaonian
        24
    sunxiaonian  
       2015-12-21 17:44:34 +08:00
    r#23 @bearcat001 import 了...我不是做研发的...python 看不太懂...我调用了之后还是有如下问题:
    sunxiaonian
        25
    sunxiaonian  
       2015-12-21 17:44:54 +08:00
    r#23 @bearcat001

    Traceback (most recent call last):
    File "/Applications/Dropzone 3.app/Contents/Actions/lib/python_runner.py", line 7, in <module>
    import action
    File "/Users/sunxiaonian/Library/Application Support/Dropzone 3/Actions/测试 2.dzbundle/action.py", line 2
    SyntaxError: Non-ASCII character '\xe6' in file /Users/sunxiaonian/Library/Application Support/Dropzone 3/Actions/测试 2.dzbundle/action.py on line 2, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details
    sunxiaonian
        26
    sunxiaonian  
       2015-12-21 17:45:37 +08:00
    r#23 @bearcat001 所以不知道能不能请您直接 fork 一个没有弹窗的版本...
    bearcat001
        27
    bearcat001  
    OP
       2015-12-21 18:20:35 +08:00
    bearcat001
        28
    bearcat001  
    OP
       2015-12-21 18:21:24 +08:00
    @sunxiaonian 覆盖最开始的那个版本,不要用中文路径的这个
    sunxiaonian
        29
    sunxiaonian  
       2015-12-21 18:47:28 +08:00
    r#28 @bearcat001 搞定了!谢谢您!
    Dean
        30
    Dean  
       2015-12-21 22:47:09 +08:00
    @bearcat001 想问下 发现上传成功了返回的 url 有问题,接口出问题了还是我设置的问题
    Begin_Message: Starting uploading...
    Determinate: 1
    Progress: 10
    Finish_Message: Upload Completed
    Progress: 100
    URL: http:///WIFI.png
    codeforlife
        31
    codeforlife  
       2015-12-22 00:10:39 +08:00
    bearcat001
        33
    bearcat001  
    OP
       2015-12-22 01:54:43 +08:00 via iPhone
    @Dean 你没设置最后一个参数,你的七牛域名
    zander
        34
    zander  
       2015-12-22 03:03:24 +08:00
    要是 Filepane 也能支持自定义脚本就好了。感觉 filepane 的方式拖起来比较简单。
    买了!一直在想要不要用 automator 弄个服务上传图片,现在省事了。
    Dean
        35
    Dean  
       2015-12-22 10:20:15 +08:00
    @bearcat001 你所说的七牛域名是?,七牛的图片可以不用自己的域名直接用生成的外部链接的,上传成功后应该就返回这个外部链接,之前有用 ios 的 sdk 不需要设置域名的
    Dean
        36
    Dean  
       2015-12-22 12:58:16 +08:00
    @bearcat001 已解决,竟让需要一个通用的 remote url ,可能之前是服务器已经添加好了,在调试 iOS 没注意😂
    bearcat001
        37
    bearcat001  
    OP
       2015-12-22 15:18:30 +08:00
    @Dean 对- -就是这个~ 没填我没加提示...
    @codeforlife 设置界面最后一个参数不需要加 http~
    nailuoGG
        38
    nailuoGG  
       2015-12-26 18:16:43 +08:00
    @hatcloud 问题解决了么?我的问题和你一样。
    hatcloud
        39
    hatcloud  
       2015-12-26 18:22:36 +08:00
    @nailuoGG 没有,我放弃了,还是用回原来繁琐一点的上传方式了
    zolo
        40
    zolo  
       2015-12-27 16:55:05 +08:00
    很棒的插件,感谢楼主。
    gongjianhui
        41
    gongjianhui  
       2016-01-01 02:54:41 +08:00
    @bearcat001 请问如果我需要上传一个文件到子目录改如何处理? (如:上传文件 img.png 到 http://example.qiniudn.com/images/img.png
    zander
        42
    zander  
       2016-01-01 14:26:45 +08:00
    用了一段时间了,自己也写了几个动作,相当好用。感谢 LZ 。
    sewyu
        43
    sewyu  
       2016-01-04 18:23:58 +08:00
    如何可以自动返回 https 链接地址就完美了
    idigital
        44
    idigital  
       2016-01-04 22:30:53 +08:00
    @hatcloud
    @nailuoGG
    文件名不能有中文
    nailuoGG
        45
    nailuoGG  
       2016-01-09 10:28:35 +08:00
    @idigital 还真的是中文文件名的问题
    bearcat001
        46
    bearcat001  
    OP
       2016-01-11 14:46:29 +08:00
    @idigital 我没试过中文名,多谢,我迟些看一下中文名问题
    bearcat001
        47
    bearcat001  
    OP
       2016-01-11 14:47:17 +08:00
    @sewyu 这个我迟些也看一下,因为我没注意七牛的链接 - -
    bearcat001
        48
    bearcat001  
    OP
       2016-01-11 14:49:55 +08:00
    @gongjianhui 我没做这个功能,因为 Dropzone 的设置选项很有限。我自己用是多个 domain ,只有一个根目录
    zifeixu85
        49
    zifeixu85  
       2016-01-31 16:14:26 +08:00
    @bearcat001 感谢作者的更新。

    中文名确实有问题,在 1.0 版本里是没问题的,升级后中文名都上传失败
    bearcat001
        50
    bearcat001  
    OP
       2016-02-11 07:24:20 +08:00   ❤️ 1
    @zifeixu85
    @nailuoGG
    @idigital
    @hatcloud
    中文名问题已经修复,可以上传中文名图片了
    zifeixu85
        51
    zifeixu85  
       2016-02-13 22:27:01 +08:00
    @bearcat001 谢谢!请问如何更新?我看版本还是 1.1 ,上传还是失败
    bearcat001
        52
    bearcat001  
    OP
       2016-02-19 13:42:21 +08:00
    @zifeixu85 应该官方没有更新,我写邮件和他们说一下,上次就有这个问题 0 - 0
    bearcat001
        53
    bearcat001  
    OP
       2016-02-26 10:23:46 +08:00
    @zifeixu85 这回好了,可以更新了
    每次我给他们发邮件说问题,他们都说,哎呀我之前写的程序出了点问题 0 - 0 没法儿自动更新,现在已经修好了
    ghui
        54
    ghui  
       2016-06-11 23:51:27 +08:00
    感谢!
    iamdennisme
        55
    iamdennisme  
       2016-06-18 13:17:14 +08:00
    @joeytat ..........
    jacobbubu
        56
    jacobbubu  
       2016-08-24 13:32:37 +08:00
    直接从剪贴板上传应该可以自动生成文件名。
    nickcheng
        57
    nickcheng  
       2016-09-12 13:18:22 +08:00
    @jacobbubu 19 楼
    holong2000
        58
    holong2000  
       2017-01-24 00:28:53 +08:00
    @bearcat001 如果上传同名文件,会提示已存在。能不能改成上传同名文件自动重命名,比如+1 ,或者加一个随机数?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2776 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 30ms · UTC 09:41 · PVG 17:41 · LAX 01:41 · JFK 04:41
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.