使用 JavaScript 实现图片上传

简介: 使用 JavaScript 实现图片上传

首先,我们需要创建一个包含用于显示图片预览和文件输入的 HTML 页面。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
   <title>Image Upload</title>
    <link rel="stylesheet" href="styles.css">
</head>
<body>
    <h1>Image Upload</h1>
   <input type="file" id="file-input" />
    <img id="image-preview" src="" alt="Image Preview" style="display: none;" />
   <button id="upload-btn">Upload Image</button>
 
   <script src="scripts.js"></script>
</body>
</html>

添加 CSS 样式

接下来,我们为页面添加一些基本的样式。创建一个名为 styles.css 的文件,并添加以下内容:

body {
    font-family: Arial, sans-serif;
    text-align: center;
}
 
img {
    max-width: 100%;
}
 
button {
    background-color: #4CAF50;
    border: none;
    color: white;
    padding: 15px 32px;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    font-size: 16px;
    margin: 4px 2px;
    cursor: pointer;
}

编写 JavaScript 代码

现在我们已经准备好编写 JavaScript 代码来实现图片上传功能。首先创建一个名为 scripts.js 的文件,然后添加以下代码:

document.getElementById('file-input').addEventListener('change', function (event) {
    const file = event.target.files[0];
    if (file && file.type.match('image.*')) {
        const reader = new FileReader();
        reader.onload = function (e) {
            document.getElementById('image-preview').style.display = 'block';
            document.getElementById('image-preview').src = e.target.result;
        };
        reader.readAsDataURL(file);
    } else {
        alert('Please select a valid image file.');
    }
});
 
document.getElementById('upload-btn').addEventListener('click', function () {
    const fileInput = document.getElementById('file-input');
    const file = fileInput.files[0];
    const formData = new FormData();
    formData.append('image', file);
 
    fetch('https://yourserver.com/upload', {
        method: 'POST',
        body: formData,
    })
    .then(response => response.json())
    .then(data => {
        console.log('Success:', data);
        alert('Image uploaded successfully.');
    })
    .catch((error) => {
        console.error('Error:', error);
        alert('Error uploading the image.');
    });
});


请注意,你需要将把网址 替换为你自己的服务器端 API,用于处理图片上传。

现在,当用户选择一张图片时,它将显示在页面上作为预览。点击 "Upload Image" 按钮后,图片将被发送到服务器。

目录
相关文章
|
4月前
|
前端开发 JavaScript
杨老师课堂之JavaScript案例手动切换轮播图片
杨老师课堂之JavaScript案例手动切换轮播图片
33 2
|
4月前
|
前端开发 JavaScript
杨老师课堂之JavaScript案例之自动切换轮播图片
杨老师课堂之JavaScript案例之自动切换轮播图片
30 1
|
1月前
|
JavaScript 前端开发
【原创】用JavaScript动态获取网页中缩放图片的长度、宽度和显示比例
【原创】用JavaScript动态获取网页中缩放图片的长度、宽度和显示比例
|
2月前
|
JavaScript 前端开发
JS - 如何上传 Base64 编码的图片
本文展示了如何将Base64编码的图片在前端转换为Blob对象,并使用`FormData`上传到服务器端的方法。
166 0
|
2月前
|
JavaScript
js之图片上传
js之图片上传
73 0
|
4月前
|
Web App开发 JavaScript 前端开发
使用 JS 实现在浏览器控制台打印图片 console.image()
在前端开发过程中,调试的时候,我们会使用 console.log 等方式查看数据。但对于图片来说,仅靠展示的数据与结构,是无法想象出图片最终呈现的样子的。 虽然我们可以把图片数据通过 img 标签展示到页面上,或将图片下载下来进行预览。但这样的调试过程实在是复杂,何不实现一个 console.image() 呢?
105 1
使用 JS 实现在浏览器控制台打印图片 console.image()
|
4月前
|
JavaScript 前端开发 安全
80 行 JS 代码实现页面添加水印:文字水印、多行文字水印、图片水印、文字&图片水印
80 行 JS 代码实现页面添加水印:文字水印、多行文字水印、图片水印、文字&图片水印 1. 信息标识: 水印可以用于标识文档的所有者、保密级别、状态或其他相关信息,帮助用户更好地理解文档内容的属性。 2. 版权保护: 在文档中添加水印可以帮助保护内容的版权,防止他人未经授权地复制、转载或篡改内容。 3. 安全保护: 对于敏感信息或机密文档,添加水印可以帮助防止信息泄露,提高文档的安全性。 4. 提升专业性: 在一些场景下,如商业报告、合同文件等,添加水印可以增加文档的专业性和正式性。 5. 防止截屏或拷贝: 在网页中添加水印可以防止用户通过截屏或复制粘贴等方式非法获取文档内容。
60 1
80 行 JS 代码实现页面添加水印:文字水印、多行文字水印、图片水印、文字&图片水印
|
4月前
|
前端开发 JavaScript
杨校老师课堂之JavaScript案例之跑马灯左右无缝连接图片自动轮播
杨校老师课堂之JavaScript案例之跑马灯左右无缝连接图片自动轮播
26 2
|
3月前
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp小程序的图片推荐系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp小程序的图片推荐系统附带文章源码部署视频讲解等
40 0