Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >jQuery+ajax实现简单的上传图片功能

jQuery+ajax实现简单的上传图片功能

原创
作者头像
王小婷
修改于 2020-10-28 10:01:10
修改于 2020-10-28 10:01:10
1.2K00
代码可运行
举报
文章被收录于专栏:编程微刊编程微刊
运行总次数:0
代码可运行

在前面的文章里面有写到,用vue上传图片的功能,vue-element-admin上传图片的功能:https://www.jianshu.com/p/383e1f2f4276,那如果是在jQuery里面,图片上传要怎么写?今天记录一个jQuery+ajax实现简单的上传图片功能。

思路很简单,和上面的差不多,前端以post的形式传递二进制图片文件给到后端,后端接收成功之后,同样返回一个字符串类型的url图片路径。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
    <head>
        <title>jQuery+ajax实现简单的上传图片功能</title>
        <meta name="viewport" content="width=device-width, initial-scale=1">
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <link rel="stylesheet" href="https://cdn.bootcss.com/twitter-bootstrap/4.3.1/css/bootstrap.min.css">
        <script src="https://cdn.bootcss.com/jquery/3.4.1/jquery.min.js"></script>
        <script src="https://cdn.bootcss.com/twitter-bootstrap/4.3.1/js/bootstrap.min.js"></script>
    </head>
    <body>
        <div class="form-group">
            <label>图片</label>
            <img src="" alt="" id="img" />
            <input type="file" name="file" id="uploadImage" onchange="postData()">
        </div>
    </body>
    <script type="text/javascript">
        function postData() {
            var formData = new FormData();
            formData.append("file", $("#uploadImage")[0].files[0]);
            $.ajax({
                url: basePath + "/upload.action",
                type: "post",
                data: formData,
                processData: false, // 告诉jQuery不要去处理发送的数据
                contentType: false, // 告诉jQuery不要去设置Content-Type请求头
                dataType: 'text',
                success: function(data) {
                    var params = JSON.parse(data)
                    $("#img").attr("src", params);
                },
                error: function(data) {
                    
                }
            });
        }
        //赋值变量
        var basePath = getContextPath();
        // 获取项目路径
        function getContextPath() {
            var pathName = window.document.location.pathname;
            var projectName = pathName.substring(0, pathName.substr(1).indexOf(
                '/') + 1);
            return projectName;
        }
    </script>
</html>

发送请求之后,可以在network里面看到具体的请求以及参数。 这里了可以看到Form data的文件格式,二进制binary文件

在看一眼返回值: 额,这里我们的后端比较省事,简单粗暴的,直接的,赤裸裸的给了个字符串,嗯,,也行吧。

效果是这个样子的(我这里没有给默认的图片,可以添加一下默认的图片~) 在点击选择文件按钮的时候,会打开本地的文件夹选择一张图片,点击打开的时候,会触发onchange绑定的函数,发起请求。接收到返回值之后,再讲返回值渲染到页面上。

注意:

如果接口存在问题的话,要用postman测试一下 postman测试上传图片接口步骤如下:

1:新建一个窗口 将接口地址和请求方式填写一下

2:选择Body,选择form-data,选择File

3:在KEY里面填写一下,file,不填写会出错,然后VALUE会出现选择本地图片的选项。

4:选择完本地图片之后,点击send发送 一般到这步就能看到返回值了

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
jQuery点击图片开启,再次点击图片关闭效果
要求:jQuery点击图片开启,再次点击图片关闭效果 2:获取选中的图片的状态 并以整型的格式传给后端
王小婷
2022/01/09
8.8K0
jQuery点击图片开启,再次点击图片关闭效果
复选框checkbox提交数据类型和方法
对应的渲染方法如下: jQuery数据结构渲染(4):复选框checkbox赋值 https://www.jianshu.com/p/3878ff8c76d9
王小婷
2020/05/26
1.5K0
复选框checkbox提交数据类型和方法
jQuery数据结构渲染(4):复选框checkbox赋值
1:当返回值是字符串的时候 data.json: { "circle": "2;3;4;5;6;1" } 示例代码: <!DOCTYPE HTML> <html xmlns:th="http://www.thymeleaf.org"> <head> <title>复选框checkbox自定义样式</title> <meta name="viewport" content="width=device-width, initial-scale=1">
王小婷
2020/05/18
1.2K0
jQuery数据结构渲染(4):复选框checkbox赋值
jQuery数据结构渲染(1):图片数组的渲染
作为一个前端开发,在日常工作中,会不断的请求接口,调用接口,再对接口的数据进行一定的处理,渲染在前端界面,尤其是在今天前后端分离的时代,这项技能是每个前端开发必备~
王小婷
2020/05/18
2.2K0
jQuery数据结构渲染(1):图片数组的渲染
jQuery将json性别数据int类型进行格式化渲染
<!DOCTYPE HTML> <html> <head> <title></title> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <link rel="stylesheet" href="https:
王小婷
2022/01/09
7790
jQuery将json性别数据int类型进行格式化渲染
jquery多组时间以对象数组形式保存
需求: 1:点击新增区域的按钮的时候,会新增一行输入框,可以选择输入数据,输入时间 2:输入完成之后,点击保存按钮,将输入的时间以对象数组的格式提交给后端 3:每一组时间是一个对象,每个对象包括开始时间和结束时间, 三组就是三个对象,存放在数组里面。 提交到后端的格式 {"criminalFences":[{"startTime":"09:00","stopTime":"17:00"},{"startTime":"09:00","stopTime":"17:00"},{"startTime":"09:00"
王小婷
2020/09/27
1.1K0
前端处理图片上传的几种方式
在用html5实现图片预览功能这篇文章中只是介绍了图片上传过程中预览的实现,那关于图片上传有哪几种方式呢?
挥刀北上
2019/08/06
5.3K0
把https地址作为变量拼接在link/script 内部
下面是之前写的一个交互的例子,直接拿过来用一用啦,最主要的在于将把https地址作为变量拼接在link/script 内部,其余的都是次要的。
王小婷
2020/12/29
8940
jQuery :contains 选择器
经常与其他元素/选择器一起使用,来选择指定的组中包含指定文本的元素(如下面的例子)。
王小婷
2021/07/08
6990
jQuery数据结构渲染(2):时间戳的处理
时间的json数据格式:data.json {"commitTime": 1588061853944} 示例代码: <!DOCTYPE HTML> <html xmlns:th="http://www.thymeleaf.org"> <head> <title>jQuery数据结构渲染(2):时间戳的处理</title> <meta name="viewport" content="width=device-width, initial-scale=1">
王小婷
2020/05/18
7150
jQuery数据结构渲染(2):时间戳的处理
工具 | 在两台电脑之间传文字和文件
网址: http://tools.lixiang.red/tools/sync/textPage
微笑的小小刀
2020/02/25
1.3K0
工具 | 在两台电脑之间传文字和文件
js拖拽上传图片
有时候,在开发中,需要遇到拖拽上传图片的需求,即从磁盘选中一张或多张图片,然后按着鼠标把图片拖动到页面上指定的区域,实现图片的上传。
用户1174387
2019/08/15
20.1K0
jQuery数据渲染,每行显示4个数据,超过四条数据自动换行
[{"name":"体验区统计","numb":0},{"name":"test909","numb":0},{"name":"test910","numb":0},{"name":"111","numb":0},{"name":"test","numb":0},{"name":"test11111","numb":0},{"name":"记忆区统计","numb":0}] 代码: <!DOCTYPE HTML> <html xmlns:th="http://www.thymeleaf.org">
王小婷
2022/01/09
5710
jQuery数据渲染,每行显示4个数据,超过四条数据自动换行
文件上传控件bootstrap-fileinput与Python交互
[up-6108568931341e960672fcd7f8c2d51e57d.png] 注意 下面的原因,可能是和后端API交互不成功的原因 fileinput版本不正确,需要大于5.0 前端设置的name属性值和后端接收的属性值不一致 必要的css和js文件 请确保下面的js和css文件存在 <script src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script> <link rel="stylesheet" href="htt
嘉美伯爵
2021/01/05
1.1K0
JQuery 获取选中checkbox多选框的value,合并成数组传给后台
需求: JQuery 获取选中多选框的value,合并成数组传给后台 在ajax请求的时候,需要给后端传一个参数 deviceId,这个 deviceId是一个list集合,也就是一个数组,需要把选中的几个数值放在这个数组里面,当做参数传递。
王小婷
2022/01/09
3.3K0
JQuery 获取选中checkbox多选框的value,合并成数组传给后台
jQuery实现消息滚动播放的效果
场景需求: 在大屏幕上,消息会进行一个实时滚动播报的效果,将现有的内容进行一个来回滚动的播放~~
王小婷
2021/04/04
5.4K0
JQuery 获取选中多选框的value,合并成字符串传给后台
<!DOCTYPE HTML> <html xmlns:th="http://www.thymeleaf.org"> <head> <title>JQuery 获取选中多选框的value,合并成字符串传给后台</title> <meta name="viewport" content="width=device-width, initial-scale=1"> <meta http-equiv="Content-Type" content="text/
王小婷
2021/01/13
6310
jQuery带参跳转新页面,新页面获取url多个参数的办法
需求: a页面有多个参数 跳转到b页面 在b页面获取a页面带过来的参数 a.html
王小婷
2025/05/20
1220
jQuery带参跳转新页面,新页面获取url多个参数的办法
jQuery带参数跳转,新页面获取url的参数id
a.html <!DOCTYPE HTML> <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <link rel="stylesheet" href="https://cdn.bootcss.com/twitter-bootstrap/4.3.1/css/bootstrap.min.css
王小婷
2021/06/24
3.5K0
JQuery 获取选中select下拉框的value和text的值,合并成数组传给后端
提交格式 "workFences": [ { "fenceId": "ew32w2wf232fwer23", "fenceName": "区域q" }, { "fenceId": "ew32w2wf232fw543r23", "fenceName": "区域b" } ], test.json {"msg":"查询成功","code":1,
王小婷
2022/03/29
2.9K0
JQuery 获取选中select下拉框的value和text的值,合并成数组传给后端
推荐阅读
相关推荐
jQuery点击图片开启,再次点击图片关闭效果
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验