<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>葫芦侠免费图床</title>
<style>
body {
font-family: Arial, sans-serif;
background: url('https://api.suyanw.cn/api/comic') no-repeat center center fixed;
background-size: cover;
margin: 0;
padding: 0;
}
form {
max-width: 600px;
margin: 50px auto;
background-color: rgba(255, 255, 255, 0.8);
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
padding: 80px;
border-radius: 50px;
}
h1 {
text-align: center;
margin-top: 0;
color: #333;
text-shadow: 1px 1px #fff;
}
label {
font-size: 14px;
font-weight: bold;
display: block;
margin-bottom: 5px;
}
input[type=file] {
display: block;
margin-bottom: 10px;
padding: 10px;
border: none;
border-radius: 3px;
background-color: rgba(255, 255, 255, 0.7);
box-shadow: inset 0 0 3px rgba(0, 0, 0, 0.1);
}
input[type=submit] {
padding: 10px 20px;
background-color: #007bff;
color: #fff;
border: none;
border-radius: 3px;
cursor: pointer;
font-size: 16px;
transition: background-color 0.2s ease-in-out;
}
input[type=submit]:hover {
background-color: #0066cc;
}
.status {
margin-top: 20px;
padding: 10px;
background-color: rgba(255, 255, 255, 0.7);
border-radius: 3px;
display: none;
}
.status.success {
background-color: #d4edda;
color: #155724;
border-color: #c3e6cb;
}
.status.error {
background-color: #f8d7da;
color: #721c24;
border-color: #f5c6cb;
}
</style>
</head>
<body>
<form action="#" method="POST" enctype="multipart/form-data" id="upload-form">
<h1>葫芦侠免费图床</h1>
<label for="file">选择一个图像文件:</label>
<input type="file" id="file" name="file" accept="image/*"><br>
<input type="submit" value="上传">
<div class="status" id="status"></div>
</form>
<script>
const form = document.getElementById('upload-form');
const status = document.getElementById('status');
form.addEventListener('submit', event => {
event.preventDefault();
status.style.display = 'none';
const fileInput = document.getElementById('file');
const file = fileInput.files[0];
if (!file) {
showError('Please choose a file to upload.');
return;
}
const formData = new FormData();
formData.append('file', file);
const xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (this.readyState === XMLHttpRequest.DONE && this.status === 200) {
try {
const responseJson = JSON.parse(xhr.responseText);
const url = responseJson.url;
if (url) {
showSuccess(`图片网址 ${url}`);
} else {
showError('Failed to upload the image.');
}
} catch (error) {
showError('Failed to parse the response from the server.');
}
} else if (this.readyState === XMLHttpRequest.DONE) {
showError(`Server returned status code ${xhr.status}.`);
}
};
xhr.open('POST', 'https://api.suyanw.cn/huluxia/upload.php');
xhr.send(formData);
function showSuccess(message) {
status.textContent = message;
status.classList.remove('error');
status.classList.add('success');
status.style.display = 'block';
}
function showError(message) {
status.textContent = message;
status.classList.remove('success');
status.classList.add('error');
status.style.display = 'block';
}
});
</script>
</body>
</html>
小正太浩二
- 粉丝: 334
- 资源: 5942
最新资源
- 西电微机原理实验-西安电子科技大学微机原理课程实验概述与指导
- 智慧校园(校园AI 产品) 校园安全 智慧校园 教育数字化 AI校园
- 西电微机原理实验四:8255可编程并行接口的应用
- 基于 Go+Echo 开发的多房间实时通讯系统。详细文档+优秀项目+全部资料.zip
- 基于 Go + Vue 的现代化博客系统详细文档+优秀项目+全部资料.zip
- 基于 go + grpc + consul 的微服务系统详细文档+优秀项目+全部资料.zip
- 基于 golang goframe + vue3 的、前后端分离的后台管理系统快捷使用模板,支持按钮级别的 RBAC。详细文档+优秀项目+全部资料.zip
- 基于 goframe2 和vue3 开发的全栈前后端分离的后台管理系统,详细文档+优秀项目+全部资料.zip
- 基于 Golang 的 容器管理系统 API详细文档+优秀项目+全部资料.zip
- 基于 React 实现的电商后台管理系统的前端项目详细文档+优秀项目+全部资料.zip
- 基于 Golang开发的微服务网关,能够实现高性能 HTTP API 转发、服务编排、多租户管理、API 访问权限控制等目的,拥有强大的自定义插件系统可以自行扩展详细文档+优秀项目+全部资料.zip
- 基于 Vue + Go 实现客户关系管理系统,,主要功能有仪表盘、客户管理、合同管理、产品管理、配置、订阅等功能详细文档+优秀项目+全部资料.zip
- 基于beego v2.0.1框架和AdminLte前端框架,开发的go语言通用后台系统,详细文档+优秀项目+全部资料.zip
- 基于 SpringBoot + Spring + SpringMvc + Mybatis + Shiro+ Redis 开发单点登录管理系统详细文档+优秀项目+全部资料.zip
- 基于beego的简易blog系统详细文档+优秀项目+全部资料.zip
- 基于Beego开发的可切换模板的 BBS 社交博客系统、它安装简单便捷,页面简介优美。前端是HTML+JS+CSS,不需要掌握一些前端技术栈也能轻松自定义页面。详细文档+优秀项目+全部资料.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈