写个文件上传Github的html代码
时间: 2024-01-21 14:04:51 浏览: 25
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>GitHub文件上传</title>
</head>
<body>
<h1>GitHub文件上传</h1>
<form action="https://github.com/username/repository/upload/master" method="post" enctype="multipart/form-data">
<label for="file">选择要上传的文件:</label>
<input type="file" name="file" id="file">
<br>
<label for="commit-message">提交说明:</label>
<input type="text" name="commit-message" id="commit-message">
<br>
<label for="branch">分支:</label>
<input type="text" name="branch" id="branch" value="master">
<br>
<input type="submit" value="上传">
</form>
</body>
</html>
相关问题
写个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>
写个jsdelivr上传Github文件代码
以下是一个示例代码,可以将文件上传到 GitHub,并使用 jsDelivr 提供的 CDN 服务。
```javascript
const fetch = require('node-fetch');
const owner = 'your_github_username';
const repo = 'your_github_repository_name';
const token = 'your_github_personal_access_token';
// Upload file to GitHub
async function uploadToGitHub(filePath, content) {
const url = `https://api.github.com/repos/${owner}/${repo}/contents/${filePath}`;
const body = {
message: 'Add file via API',
content: Buffer.from(content).toString('base64')
};
const headers = {
Authorization: `Bearer ${token}`
};
const response = await fetch(url, {
method: 'PUT',
headers,
body: JSON.stringify(body)
});
const json = await response.json();
if (response.ok) {
console.log(`File uploaded to GitHub: ${json.content.html_url}`);
return json.content.sha;
} else {
console.error(`Failed to upload file to GitHub: ${JSON.stringify(json)}`);
return null;
}
}
// Get jsDelivr upload URL
async function getJsDelivrUrl(filePath, sha) {
const url = `https://data.jsdelivr.com/v1/package/gh/${owner}/${repo}@${sha}/${filePath}`;
const response = await fetch(url);
const json = await response.json();
if (response.ok && json.success) {
console.log(`jsDelivr upload URL: ${json.files[0].url}`);
return json.files[0].url;
} else {
console.error(`Failed to get jsDelivr upload URL: ${JSON.stringify(json)}`);
return null;
}
}
// Upload file to jsDelivr
async function uploadToJsDelivr(filePath, content) {
const sha = await uploadToGitHub(filePath, content);
if (sha) {
const url = await getJsDelivrUrl(filePath, sha);
if (url) {
const response = await fetch(url, {
method: 'PUT',
body: content
});
if (response.ok) {
console.log(`File uploaded to jsDelivr: ${url}`);
} else {
console.error(`Failed to upload file to jsDelivr: ${response.statusText}`);
}
}
}
}
// Example usage
uploadToJsDelivr('example.txt', 'Hello, world!');
```
在使用此代码之前,请确保您已经设置了 GitHub 个人访问令牌,并具有对您要上传文件的仓库的写入访问权限。您还应该替换代码中的 `your_github_username`,`your_github_repository_name` 和 `your_github_personal_access_token` 为您自己的值。