Jquery获取输入框属性file,ajax传输后端,下载图片
Django web开发获取input属性file,可以用request.FILES.get(' ')直接获取到,然后正常拼接路径就可以下载,
但是今天我们来用异步获取file的值在传输后端下载。
1.这里我们要注意form表单必须添加enctype="multipart/form-data"这个属性,不然后端会取不到值。
2.此处是form表单的所有能用到ajax传输的属性,就因为多了个file属性所以获取方式特殊我们要把点击事件放到表单外,
不然正常js获取是不需要form表单的,这里我们要注意一点,ajax的传输与form表单冲突,如果两个都有就只会走form表单
3.正常如果用id获取file的值,会把整个文件的绝对路径获取到,那样的话传输后端就是整个绝对路径了,显然跟我们需要获取的文件名字不符,
所以我们这回需要form表单,就因为点击的时候获取的是整个form表单的所有内容。
<form id="uploadForm" enctype="multipart/form-data">
{% csrf_token %}
姓名:<input type="text" name="name"><br>
年龄:<input type="text" name="age"><br>
男:<input type="radio" name="gender" value="男">
女:<input type="radio" name="gender" value="女"><br>
手机:<input type="text" name="phone"><br> <select name="hobby">
<option value="篮球">篮球</option>
<option value="羽毛球">羽毛球</option>
<option value="足球">足球</option>
</select><br>
<input type="file" name="file" multiple="multiple"/><br>
</form>
<button id="upload" >上传</button>
点击事件获取整个form表单,如果Django配置里csrf没有注释, 此处要把token加入到formData里面,
formData获取的是整个form表单内容,下面为ajax格式,不会的自己查吧基本格式
<script type="text/javascript" src="../../static/js/jquery-1.12.4.min.js"></script>
<script>
$(function(){
$("#upload").click(
function(){
var csrfToken=document.querySelector("[name='csrfmiddlewaretoken']");
var formData = new FormData($('#uploadForm')[0]) $.ajax({
url:'{% url "stu:entry" %}',
data:formData,
dataType:'json',
type:'POST',
cache: false,
processData: false,
contentType: false,
success:function(resp){
if (resp.code==200){
alert(resp.msg);
location.href = '{% url "stu:index" %}';
}else{
alert(resp.msg);
location.reload()
}
}
})
}
)
})
</script>
Jquery获取输入框属性file,ajax传输后端,下载图片的更多相关文章
- 使用Jquery获取指定属性的值
使用Jquery获取指定属性的值 <input type="hidden" value="{$time}" name="time" i ...
- jquery获取dom属性方法
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- Python爬虫获取异步加载站点pexels并下载图片(Python爬虫实战3)
1. 异步加载爬虫 对于静态页面爬虫很容易获取到站点的数据内容,然而静态页面需要全量加载站点的所有数据,对于网站的访问和带宽是巨大的挑战,对于高并发和大访问访问量的站点来说,需要使用AJAX相关的技术 ...
- a 标签的download 属性在谷歌浏览器下无法下载图片,如何处理?
a 标签的download属性在下载图片文件的时候是如何的方便,可是可是谷歌浏览器不支持下载,而是下载打开新窗口预览图片.这个兼容性问题如何解决呢? 了解了一番,HTMLCanvasElement.t ...
- jQuery 获取标签属性值的问题
jquery attr()无法获取属性值问题 css里明明已经设置过了: 可还是获取不了: 求指导. 一定是undefined,attr是用来获得或设置标签属性的,不是用来获得CSS属性的.如果你 ...
- Jquery获取checkbox属性checked为undefined
说明:本文来自新浪博客,因为无法收藏,故直接copy过来备注,以后好查询 原网址:http://blog.sina.com.cn/s/blog_6810dfc20101jddq.html 使用jQue ...
- jQuery获取输入框并设置焦点
$(':input:enabled:visible:first').focus(); $("input:text:visible:first").focus(); 表单元素选择器: ...
- 用JQuery获取输入框中的光标位置
(function ($, undefined) { $.fn.getCursorPosition = function () { var el = $(this).get(0); var pos = ...
- HTML <a> download 属性,点击链接来下载图片
Html5里面的 标签的 Download 属性可以设置一个值来规定下载文件的名称.所允许的值没有限制,浏览器将自动检测正确的文件扩展名并添加到文件 (.img, .pdf, .txt, .html, ...
随机推荐
- 最清晰易懂的UML类图与类的关系详解
虚线箭头指向依赖: 实线箭头指向关联: 虚线三角指向接口: 实线三角指向父类: 空心菱形能分离而独立存在,是聚合: 实心菱形精密关联不可分,是组合: 上面是UML的语法. 在画类图的时候,理清类和类之 ...
- Django组件-forms
forms组件 校验字段功能 针对一个实例:注册用户 模型:models.py class UserInfo(models.Model): name=models.CharField(max_leng ...
- mvc路由配置.html结尾的伪静态
mvc 标准的写法 通常是(http://localhost:8149/Home/Index) 路由配置如下: 有时候需求 如 http://localhost:8149/Home/Index 改为h ...
- Axis接口
Axis支持三种web service的部署和开发,分别为: 1.Dynamic Invocation Interface ( DII) 2.Dynamic Proxy方式 3.Stubs方式Dyna ...
- docker 部署mvc项目 <四>
一:部署方式 直接使用centos镜像,做一个镜像,此镜像制定端口号,在centos容器中安装jexus独立版,就可以了 docker run -d -p : -itd --name wds cent ...
- pandas设置值-【老鱼学pandas】
本节主要讲述如何根据上篇博客中选择出相应的数据之后,对其中的数据进行修改. 对某个值进行修改 例如,我们想对数据集中第2行第2列的数据进行修改: import pandas as pd import ...
- Wxpython入门
Wxpython入门 api文档以及中文教程: https://pan.baidu.com/s/1TDTgHg9Mwc74ODQy68YnlQ 提取码:354n 入门示例 frame=wx.Frame ...
- SpringBoot2 task scheduler 定时任务调度器四种方式
github:https://github.com/chenyingjun/springboot2-task 使用@EnableScheduling方式 @Component @Configurabl ...
- 【Redis】-- 安装及配置
我们redis的安装较为复杂,属于Linux上的源码编译安装,即不能直接通过yum安装. 1.安装Redis 具体步骤: 1.进入redis官网,复制下载链接,通过wget下载源码 官网:https: ...
- InfluxDB——python使用手册
InfluxDB--python使用手册 准备工作 安装InfluxDB: 请参考笔者相关博文:Centos7安装InfluxDB1.7 安装pip : yum install python-pip ...