查看: 1155|回复: 4

[源码教程] 利于github制作在线图床

[复制链接]
累计签到:253 天
连续签到:1 天

1862

主题

-208

回帖

1万

积分

域主

名望
0
星币
3561
星辰
6
好评
79

鼎力支持奖欢乐天使奖灌水天才奖幸运猪我是土豪在线大神

发表于 2023-7-21 02:53:27 | 显示全部楼层 |阅读模式

注册登录后全站资源免费查看下载

您需要 登录 才可以下载或查看,没有账号?立即注册

×
众所周知,github的api灰常开放,如今已经有picog+github图床,但是,picog是桌面程序,怎样能用用一个网页程序来实现呢?其实很简单,我们就单纯用一个ajax请求就可以了
以下是一段简单的上传函数


  1. function uploadimg(file, form) {
  2.             // alert(4)
  3.             let timestamp = new Date().getTime(); //获取时间戳
  4.             let newname = "https://raw.githubusercontent.com/你的用户名/仓库名/目录(留空代表根目录)/" + timestamp + "." + form; //以事件戳重命名
  5.             console.log(newname);
  6.             $.ajax({
  7.                 url: "https://api.github.com/repos/你的用户名/仓库名/目录(留空代表根目录)/" + timestamp + "." + form,
  8.                 method: "PUT",
  9.                 headers: {
  10.                     "Authorization": "密钥,在github的个人 左侧的申请",
  11.                     "Content-Type": "text/plain"
  12.                 },
  13.                 data: "{\r\n "message": "upload",\r\n "content": "" + file + ""\r\n}",
  14.                 success: function () {
  15.                     console.log(111);
  16.                     $("#neirong").html("github:" + newname) //写到html里面
  17.                 }
  18.             })
  19.         }
复制代码
当然,图片上传时我们还要对图片进行重命名,避免重复图片,同时还要对图片转为base64编码
利用以下一段简单的函数实现


  1. function imgChange(img) {
  2.         const reader = new FileReader();
  3.         reader.onload = function (ev) {
  4.             var imgFile = ev.target.result; //imgFile就是图片的base64编码
  5.             console.log(imgFile);

  6.             base64url = imgFile.replace(/(.*)?,/, ''); //用正则消除前面的data之类的字符
  7.             form = imgFile.substring(imgFile.indexOf("/") + 1, imgFile.indexOf(";")); //获取图片原本的格式
  8.             console.log(imgFile);
  9.             uploadimg(base64url, form); //上传
  10.         }
  11.         reader.readAsDataURL(img.files[0]);
  12.     }
复制代码
基本原理就是这样,还有个弊就是纯html静态页面的形式会暴漏我们的密钥,所以我们可以把上传的部分单独做成一个php接口文件或者nodejs接口,这里就不提了
另外 秘钥在github登入自己账号后,右上角头像- Settings-左侧底部的Developer Settings-左侧的Personal access tokens-选择tokens-然后生成一个
最终附上完整的源码


游客,如果您要查看本帖隐藏内容请回复


我发的破/解游戏的解压密码都是XDGAME
有任何问题私信版主可爱喵不要私信我,我比较少上线,可爱喵每天都会回复私信
回复

使用道具 举报

累计签到:107 天
连续签到:1 天

0

主题

73

回帖

719

积分

星空

名望
0
星币
486
星辰
0
好评
0
发表于 2023-7-21 04:01:25 | 显示全部楼层
66666
默认签名:偏爱是我家,发展靠大家! 社区反馈邮箱Mail To:service@pai.al或paijishu@outlook.com
回复 支持 反对

使用道具 举报

累计签到:221 天
连续签到:1 天

0

主题

67

回帖

488

积分

星光

名望
0
星币
395
星辰
0
好评
0
发表于 2023-7-25 08:56:53 | 显示全部楼层
666
默认签名:偏爱是我家,发展靠大家! 社区反馈邮箱Mail To:service@pai.al或paijishu@outlook.com
回复 支持 反对

使用道具 举报

累计签到:44 天
连续签到:1 天

1

主题

15

回帖

314

积分

星光

名望
0
星币
265
星辰
0
好评
0
发表于 2023-7-29 11:21:59 | 显示全部楼层
66666
默认签名:偏爱是我家,发展靠大家! 社区反馈邮箱Mail To:service@pai.al或paijishu@outlook.com
回复 支持 反对

使用道具 举报

累计签到:232 天
连续签到:3 天

57

主题

521

回帖

1389

积分

星体

名望
0
星币
495
星辰
0
好评
5
发表于 2023-7-29 13:25:30 | 显示全部楼层
楼主厉害,谢谢了
默认签名:偏爱是我家,发展靠大家! 社区反馈邮箱Mail To:service@pai.al或paijishu@outlook.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|偏爱技术社区-偏爱技术吧-源码-科学刀-我爱辅助-娱乐网--教开服-游戏源码

偏爱技术社区-偏爱技术吧-源码-科学刀-我爱辅助-娱乐网-游戏源码

Powered by Discuz! X3.5

GMT+8, 2024-11-26 09:56 , Processed in 0.088959 second(s), 46 queries .

快速回复 返回顶部 返回列表