最好的方案是传递到 GitHub 的仓库,但是只想传递某个文件,不想初始化自己的本地文件夹,或者是使用 scp 到自己的服务器上进行备份,有什么更好的解决方案么?
1
villivateur 2023-09-18 08:39:48 +08:00
GitHub 有 API ,你可以去找找有没有符合你需求的
|
2
superares 2023-09-18 08:47:24 +08:00 via iPhone
放 release ?
|
3
shuxhan 2023-09-18 09:19:30 +08:00
使用 api 可以直接上传文件。
PUT https://api.github.com/repos/{user}/imgs/contents/{path}/{filename} { "message": "提交说明", "content": "base64 编码的文件内容", "sha": "文件的 blob sha" } content:文件内容的 base64 编码后的字符串 sha:文件更新或删除时必填,先用 GET 接口查询文件信息,可在响应体中获取 |
4
ratazzi 2023-09-18 09:25:48 +08:00 1
用 Cloudlfare Worker 写个上传到 R2, 再加上 GitHub 也很简单, 然后 curl 一条命令搞定
curl -u "username:password" -X PUT --data-binary @filename https://example.com/blobs/filename |
5
GodD6366 2023-09-18 11:03:04 +08:00 via iPhone
gist?
|
6
skiy 2023-09-18 12:26:38 +08:00
如果是传到服务器的有很多方式。
1. https://github.com/dutchcoders/transfer.sh/ 自己跑个 docker 。把那个保存目录映射到宿主机 2. https://github.com/schollz/croc 点对点传输。缺点就是本地也要安装该工具。 |
7
leonleon OP 感谢各位!最后确实是可以用 GitHub 的 API 进行文件的上传,使用 PUT ,最终结构类似这样:curl -H "Authorization: token " --request PUT --data '{ "message": "", "content": "base64 编码的文件内容", "branch": "main" }' https://api.github.com/repos/user/repos/contents/filename ,但是还是要生成 base64 编码后的字符串,比较麻烦
|