之前介绍过无比坚挺无比迅速的图床 微博图床,本博客也一直在用。
但是使用过程中发现一些问题,比如要上传一张图,步骤是“截图-调整大小-加水印-通过插件上传-获取链接”,可以说步骤相当繁琐,做为懒人坚决不能忍,所以就想做一套集裁图,加水印,上传微博一键完成的图床应用。
2019/5/1:更新本地版和新功能,详情查看本地版图床
演示地址
https://bak.yantuz.cn:8000/weiboUploader-Watermark/
以上地址仅供演示,长期使用建议自己搭建服务器。上传的所有图片将在我的服务器上留备份
实现效果
使用说明
使用过程很简单,选择图片上传即可,系统会自动上传新浪微博,并返回链接。如需加水印和调整大小,下方的选项也是即时生效的。
如上传第一张图无需水印,正常上传之后再勾选水印,上传第二图即可自动按设置添加水印。
选项说明
启用水印:水印设置的总开关,开启时下方设置才会生效
水印图:由于我只需要添加图片水印,所以只做了图片水印,图片水印需要提供一个图片URL,最好是PNG格式,加水印会比较美观
水印位置:把图片按9宫格排列,提供了9个位置的水印,默认右下。
透明度:水印透明度,默认50%,这个自己调整,如果遇到深色背景的图片,可以加深透明度
图像缩放:填写宽度时,图像总宽度不会超过设置值,默认800px。高同理,建议只设置宽度即可
项目开源
GitHub:/weiboUploader-Watermark
部署说明
系统用PHP语言编写,可以运行在任何Linux主机上。
环境要求
- PHP >= 7.0
json
扩展openssl
扩展fileinfo
扩展allow_url_fopen
upload
文件夹为图片备份目录,需设置777权限
vendor/consatan/weibo_image_uploader/cache/
为微博cookie存放目录,需777权限
参考
H5上传页:http://fex.baidu.com/webuploader/
图像处理:http://image.intervention.io/
上传微博:https://github.com/consatan/weibo_image_uploader
已知问题
新浪对新IP地址登录的用户进行了验证码验证,而自动登录脚本并不支持验证码输入。微博图床原作者给出的解决方法目前测试是失效的。稳妥的方法是
- 用服务器IP登录微博,让服务器IP也成为可信IP
- 在本地部署程序,生成的cookie文件(
vendor/consatan/weibo_image_uploader/cache/
)上传至服务器,有效期只有1天。
[object Object]到底怎么解决啊 ??谢谢
自己部署的吗?估计是登录失败,需要验证码
pic.rsgdxp.com 长传就报错,用的一个谷歌浏览器插件 需要登录微博 倒是挺好用 就是没有水印 ,有什么好办法解决么 谢谢
参考已知问题的解决方案,用服务器ip 登录微博,至信任,免验证码
如何用服务器IP登录 麻烦说一下 谢谢 谢谢
我是服务器上装ss, 用客户端连接登录微博的。估计要连续登录一星期
好的 谢谢
要是来个批量复制链接就好了
有道理,这个可以有!
没有文字水印??!虽然我不用,但是之前好像听说新浪可以在相册管理图片吧!
可以支持文字水印但是没做……PHP调用的图片上传接口好像跟相册无关,所以也无法在相册里管理
请问博主,能不能只传到主机,不传微博呢? 谢谢
当然可以了,传到主机更简单。但只传到主机的话,用wordpress上传不就行了
WP自带的上传速度超慢,我想用博主的程序,谢谢
额,需要改改代码。
传微博之前会把图存服务器上一份,到那一步直接返回链接给客户端应该就行
好的,谢谢博主,辛苦了
问一下博主,请问上传的图片有没有办法删除啊?
上传到新浪微博了,不能管理和删除…
好的吧,只能是这样子的。
大佬厉害,路过贵站
用的宝塔面板,上传图片后链接就显示[object Object]
跟面板应该无关,显示object就是没获取到返回的图片地址,多半是出验证码了,无法上传成功
大佬,请教一下,如果要修改生成的链接为带a herf 和src标签的链接,应该修改哪里?
upload.js里当图片上传成功时路径回显,大概175行的位置,会往页面中插入图片路径,按需要修改即可。
大佬,请教一下,如果要修改生成的链接为这样的:
要改哪里文件?
请问linux的服务器怎么登陆新浪微博
https://github.com/consatan/weibo_image_uploader
用的是这个开源项目,我猜测的是利用http://weibo.com/minipublish进行模拟登录,进而获取Cookie值,再通过http://picupload.service.weibo.com/interface/pic_upload.php进行图片上传。
好像没理解对你的意思。
只要使用vps的IP登录微博就行,装ss或者VPN之类的代理软件,再在windows电脑上用代理登录微博即可。登录的多了就被认为是可信IP,从而免验证码。
怎么没有显示外链呢
看下控制台有没有错误提示
如果是部署到VPS的话确认一下用VPS的IP登录会不会被要求输入验证码
是用Linux的服务器部署的,而且并没有需要输入验证码,现在就是显示[object Object]
程序不能自己返回验证码。你试试已知问题里的两个解决办法
请问一下大佬这个是怎么回事呢
https://wx1.sinaimg.cn/large/006ZFECEgy1fs6ex1hr3xj31990j6wfu.jpg
可以重新上传一次试试。另外你传的这个是正常图不?新浪可能会和谐非正常图片
对了,这个程序因为会加水印和改大小,所以动图传完会变成静态图……
貌似还是不行,upload里面的用户名和账号也设置了
https://wx1.sinaimg.cn/large/006ZFECEgy1fs6f91l9grj31g70qcjt6.jpg
打开控制台,看下upload.php是不是有报错。
如果是在新服务器搭建的,登录新浪微博可能出验证码,导致自动登录不成功
好像是没有
https://wx1.sinaimg.cn/large/006ZFECEgy1fs6ft53axhj31g70qaaby.jpg
扔虚拟机上的 不知道行不行
留个爪,我先去把我的服务器登一段时间微博去。话说,一直在挂QQ。
验证码问题确实不好弄……只有先用笨办法了
为嘛我上传这个源码就是上传不了图片呢?账号密码+配置环境都对啊!
8成是验证码问题。
我看了原作者的解决方案,也没搞明白。
然后我用自己服务器IP登录微博大概有一星期,然后现在能随时正常上传了…
最好是在本地也做一个备份。
之前的都没备份啊……打算弄个脚本,把网站所有图床文件定期备份出来
多谢传播,教程很细致了!