前言
十一在家的时候,由于一个小的需求,需要把手机拍照的图片传到图床上写博客用,而且最好能边拍边传,传完后自动复制好多个图片的链接,找了找没有太符合需求的,于是自己趁着假期从头学习Flutter写了一个手机端软件,参考电脑端PicGo的功能设计,写出了PicHoro并在Github上开源~Github地址:https://github.com/Kuingsmile/PicHoro。
PicHoro从10月2号的V1.00版本,到今天已经更新到了V1.75版本下载地址,这个过程中感觉自己对Flutter算是学了个皮毛了,同时对REST API也理解的更加深刻了,也算是一个小的成长吧。
下面就简单介绍下PicHoro~
PicHoro的界面和功能
PicHoro的基本功能和PicGo相同,简单点来说就是图片上传到图床和图片的管理,并且可以复制链接。PicHoro目前支持的图床有:
- [x] 兰空图床V2 (V1.00版本添加)
- [x] SM.MS(V1.41版本添加) 图床网站https://smms.app或https://sm.ms
- [x] Github(V1.55版本添加) 使用Github仓库作为图床
- [x] Imgur(V1.60版本添加) 需要配合一些特殊方法使用
- [x] 七牛云存储(V1.65版本添加) 七牛云存储
- [x] 腾讯云COS V5(V1.70版本添加) 腾讯云COS V5
- [x] 阿里云OSS(V1.75版本添加) 阿里云OSS
- [x] 又拍云存储(V1.75版本添加) 又拍云存储
PicHoro的特殊功能包括:
- 连续上传模式,相机拍照后自动上传然后返回拍照页面,可连续拍照上传(就是我一开始的那个小需求~)
- 可导入剪贴板中的网络图片链接,同时使用换行符分割多个链接可批量导入
- 相册分图床显示,支持多选管理,复制多张图片链接或删除
- 相册删除时可选择是否同时删除服务器上的图片,以及选择是否删除本地图片
- 支持扫描二维码将PicGo(v2.3.0-beta.2以上版本)配置文件直接导入PicHoro
- 支持将PicHoro的配置导出至剪贴板,导出格式与PicGo配置文件相同,可直接导入PicGo
- 上传图片后自动复制链接到剪贴板,多图上传时全部复制,支持的链接格式包括Markdown,带链接的Markdown,BBcode,HTML,原始链接和自定义链接
- 支持自定义复制到剪贴板的链接格式,占位符与Picgo一致
- 上传时可对文件重命名,目前有时间戳,随机字符串和自定义重命名三种方式,自定义重命名可使用多种占位符,如uuid,时间戳,md5等
下面来分别看下界面~
上传界面
上传界面里,连续上传就是刚才提到的排照后自动上传然后返回拍照功能,网络多选可以读取剪贴板内的网络图片链接(如果是用换行符分隔的多个链接的话,会全部读取),同时屏幕中的PicHoro软件图标会在有图片等待上传的时候显示第一张待上传图片的缩略图,上传完又回到Logo~
右下角的浮动图标可以快捷的切换需要默认的上传图床~
相册界面
相册页面里,点击图片会进入预览界面,双击会自动复制默认格式的链接到剪贴板,长按则会弹出选择菜单来复制指定格式的链接。同时右上角有选择框,可以多选操作。
相册页面下方中间的四个按钮分别对应了切换显示的图床,返回相册第一页,复制所有选定图片的链接和选择所有图片,右上角图标则可以删除所有选定的图片。
配置页面
配置页面里,包括了许多自定义配置选项,包括从二维码导入PicGo的配置,导出Json格式的配置文件到剪贴板,设置删除的时候是否同步删除云端和本地图片,自定义复制的链接的格式和文件上传的时候重命名的格式等。
吐槽
整个软件的开发过程中,写的最就的应该就是相册页面了,搞了好久才搞明白怎么实现,其它的各种图床的功能添加基本上是查阅各家的API文档来实现就行了。
但这里我一定要吐槽下,七牛云和又拍云的API文档是真的emmmm,七牛的删除文件方法,文档里写个POST请求,实际我试了应该是DELETE请求,然后又拍云的整个界面和文档各种简陋。阿里云的啰里啰嗦,体验最好的应该是腾讯云的,不仅写的比较清楚,而且还有在线的API调试工具,可以对照着来实现代码。
最后希望大家可以多多给提提意见啦,毕竟是刚学了两周的Flutter新手,很多都是现学现用的,后续我也会持续的更新PicHoro这个项目~
Comments 8 条评论
博主 誓不回头
这是一条私密评论
博主 赫萝
@誓不回头 845216974 不过我不是程序员哦,纯个人兴趣编程
博主 javon
感谢作者很棒的软件,PicHoro可以增加支持下极狐lab吗?一直在用极狐lab做图床,挺好用的
博主 赫萝
@javon 可以
博主 Axe
这是一条私密评论
博主 赫萝
@Axe 我节后看一下哈,十一要结婚了,最近没有时间搞
博主 渡鸦
老哥什么时候准备开发一下自定义API上传的功能啊,之前搭建的Cloudflare-Telegraph在Piclist上可以用,但是手机端没有上传的方式,只能手动去网页传,还得手动压缩免得大于5MB。
博主 赫萝
@渡鸦 下个月吧 最近沉迷黑悟空 无心写代码 ~