jsdelivr 上传Github文件代码
时间: 2024-01-21 17:48:09 浏览: 25
1. 首先要在Github上创建一个新的仓库,命名为myproject。
2. 在本地创建一个新的文件夹,命名为myproject,并且在该文件夹下创建一个名为index.html的文件。
3. 将index.html文件的代码复制到该文件中。
4. 在本地打开终端,进入到myproject文件夹中,执行以下命令:
```
git init
git add .
git commit -m "Initial commit"
```
5. 在Github上获取仓库的SSH地址,例如:
```
git@github.com:username/myproject.git
```
6. 在终端中执行以下命令,将本地仓库与Github的仓库进行关联:
```
git remote add origin git@github.com:username/myproject.git
```
7. 执行以下命令,将本地仓库的代码上传到Github的仓库中:
```
git push -u origin master
```
8. 等待上传完成后,在jsdelivr网站中输入以下地址,即可访问到该文件:
```
https://cdn.jsdelivr.net/gh/username/myproject/index.html
```
其中,username为Github的用户名。
相关问题
写个jsdelivr上传Github文件代码
以下是一个示例代码,可以将文件上传到GitHub并使用jsDelivr提供的CDN服务:
```javascript
const axios = require('axios');
const FormData = require('form-data');
const owner = '<GITHUB_USERNAME>';
const repo = '<GITHUB_REPO>';
const branch = '<BRANCH_NAME>';
const accessToken = '<GITHUB_ACCESS_TOKEN>';
const filename = '<FILE_NAME>';
const fileContent = '<FILE_CONTENT>';
const apiUrl = `https://api.github.com/repos/${owner}/${repo}/git/trees/${branch}`;
const headers = {
'Authorization': `Bearer ${accessToken}`,
'User-Agent': 'MyApp'
};
// Create a new blob with file content
const blobData = new Blob([fileContent], { type: 'text/plain' });
const formData = new FormData();
formData.append('file', blobData, filename);
// Upload file to GitHub using API
axios.post(apiUrl, {
path: filename,
mode: '100644',
content: fileContent,
}, { headers })
.then(response => {
const sha = response.data.sha;
const uploadUrl = `https://uploads.github.com/repos/${owner}/${repo}/git/blobs/${sha}`;
return axios.post(uploadUrl, formData, {
headers: {
...headers,
...formData.getHeaders()
}
});
})
.then(response => {
const fileUrl = `https://cdn.jsdelivr.net/gh/${owner}/${repo}@${branch}/${filename}`;
console.log(`File uploaded to GitHub and available at: ${fileUrl}`);
})
.catch(error => {
console.error(error.message);
});
```
请注意,您需要替换示例代码中的以下变量:
- `<GITHUB_USERNAME>`: 您的GitHub用户名
- `<GITHUB_REPO>`: 存储文件的GitHub仓库名称
- `<BRANCH_NAME>`: 存储文件的GitHub仓库分支名称
- `<GITHUB_ACCESS_TOKEN>`: 您的GitHub访问令牌
- `<FILE_NAME>`: 要上传的文件的名称
- `<FILE_CONTENT>`: 要上传的文件的内容
此代码使用axios库来处理GitHub API请求,并使用FormData类将文件上传到GitHub。然后,它将使用jsDelivr提供的CDN服务来访问上传的文件。
写个jsdelivr上传Github文件代码html
<!DOCTYPE html>
<html>
<head>
<title>JSDELIVR上传Github文件</title>
</head>
<body>
<h1>JSDELIVR上传Github文件</h1>
<form id="myForm">
<label for="fileInput">选择文件:</label>
<input type="file" id="fileInput" name="fileInput" required><br><br>
<label for="version">版本号:</label>
<input type="text" id="version" name="version" required><br><br>
<label for="vendor">厂商:</label>
<input type="text" id="vendor" name="vendor" required><br><br>
<label for="project">项目名称:</label>
<input type="text" id="project" name="project" required><br><br>
<label for="fileName">文件名:</label>
<input type="text" id="fileName" name="fileName" required><br><br>
<button type="submit" onclick="uploadFile()">上传文件</button>
</form>
<script src="https://cdn.jsdelivr.net/npm/axios/dist/axios.min.js"></script>
<script>
function uploadFile() {
const fileInput = document.getElementById('fileInput');
const version = document.getElementById('version').value;
const vendor = document.getElementById('vendor').value;
const project = document.getElementById('project').value;
const fileName = document.getElementById('fileName').value;
const formData = new FormData();
formData.append('file', fileInput.files[0]);
axios.post(`https://api.jsdelivr.com/gh/${vendor}/${project}@${version}/${fileName}`, formData, {
headers: {
'Content-Type': 'multipart/form-data'
}
})
.then(response => {
console.log(response);
alert("上传成功!");
})
.catch(error => {
console.log(error);
alert("上传失败!");
});
}
</script>
</body>
</html>