form表单文件上传
路由
# from表单上传
path('formupload/',apply.formupload,name='formupload/'),
方法
# form表单文件上传
def formupload(request):
if request.method == 'POST':
image_obj = request.FILES.get('headimg')
print(image_obj)
with open(settings.MEDIA_ROOT+'/'+image_obj.name,'wb') as f:
for lin in image_obj:
f.write(lin)
return HttpResponse('ok')
前端html
<form action="/apply/formupload/" method="post" enctype="multipart/form-data">
{% csrf_token %}
<input type="file" name="headimg">
<input type="submit" value="form表单上传">
</form>
上传成功示例
#ajax上传
路由
# ajax上传文件
path('ajaxupload/',apply.ajaxupload,name='ajaxupload/'),
方法
# ajax文件上传
def ajaxupload(request):
if request.method == 'POST':
image_obj = request.FILES.get('headimg')
print(image_obj)
with open(settings.MEDIA_ROOT + '/' + image_obj.name, 'wb') as f:
for lin in image_obj:
f.write(lin)
return HttpResponse('ok')
前端html
<form>
{% csrf_token %}
{# <div>用户名:<input type="text" name="username" id="username"></div>#}
<div>选择文件:<input type="file" name="headimg" id="headimg"></div>
<div><input id="dosubmit" type="button" name="dosubmit" value="ajax上传"></div>
</form>
{# ajax上传#}
<script>
$(document).ready(function () { $("#dosubmit").click(function () {
var formdata = new FormData();
{# formdata.append("username", $("#username").val());#}
formdata.append("headimg", $("#headimg")[0].files[0]);
formdata.append("csrfmiddlewaretoken", "{{ csrf_token }}");
$.ajax({
url: "/apply/ajaxupload/",
type: "post",
data: formdata,
contentType: false,//enctype="multipart/form-data"
processData: false,//不需要转换数据类型,即不需要把传输的数据转为字符串
success: function (res) {
console.log(res)
}
}); }); })
</script>
done。
django项目中form表单和ajax的文件上传功能。的更多相关文章
-
ajax提交表单、ajax实现文件上传
ajax提交表单.ajax实现文件上传,有需要的朋友可以参考下. 方式一:利用from表单的targer属性 + 隐藏的iframe 达到类似效果, 支持提交含有文件和普通数据的复杂表单 方式二:使用 ...
-
用div漂浮快实现与表单无关的多文件上传功能。
我项目有这个需求,多文件上传,而且要及时显示到表单上,这样的话就不能与表单相关. 由于我对前端不熟,我就实现了这么一个功能,通过button触发一个div漂浮块,然后多文件上传,之后通过js把文件名显 ...
-
ANDROID使用MULTIPARTENTITYBUILDER实现类似FORM表单提交方式的文件上传
最近在做 Android 端文件上传,要求采用 form 表单的方式提交,项目使用的 afinal 框架有文件上传功能,但是始终无法与php写的服务端对接上,无法上传成功.读源码发现:afinal 使 ...
-
js_ajax模拟form表单提交_多文件上传_支持单个删除
需求场景: 用一个input type="file"按钮上传多张图片,可多次上传,可单独删除,最后使用ajax模拟form表单提交功能提交到指定方法中: 问题:由于只有一个file ...
-
Java后台使用httpclient入门HttpPost请求(form表单提交,File文件上传和传输Json数据)
一.HttpClient 简介 HttpClient 是 Apache Jakarta Common 下的子项目,用来提供高效的.最新的.功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 ...
-
Django框架 之 Form表单和Ajax上传文件
Django框架 之 Form表单和Ajax上传文件 浏览目录 Form表单上传文件 Ajax上传文件 伪造Ajax上传文件 Form表单上传文件 html 1 2 3 4 5 6 7 <h3& ...
-
laravel中form表单,ajax传值没反应
laravel中form表单,ajax传值没反应时,可能是令牌有问题. form中添加: {{csrf_token()}} ajax中添加: data: {'page': page, '_token' ...
-
Yii2表单提交(带文件上传)
今天写一个php的表单提交接口,除了基本的字符串数据,还带文件上传,不用说前端form标签内应该有这些属性 <form enctype="multipart/form-data&quo ...
-
摒弃FORM表单上传图片,异步批量上传照片
之前作图像处理一直在用form表单做图片数据传输, 个人感觉low到爆炸而且用户体验极差,现在介绍一个一部批量上传图片的小技巧,忘帮助他人的同时也警醒自己在代码的编写时不要只顾着方便,也要考虑代码的健 ...
随机推荐
-
Access forbidden! You don&#39;t have permission to access the requested object. It is either read-protected or not readable by the server
好久不没弄 apache和php了,突然遇到这种奇葩的问题,本来想直接在网上找现成的解决思路,结果网上搜索花了不少功夫,也没找到原因. 后来看日志文件:apache\logs\error.log发现了 ...
-
storm如何保证at least once语义?
背景 前期收到的问题: 1.在Topology中我们可以指定spout.bolt的并行度,在提交Topology时Storm如何将spout.bolt自动发布到每个服务器并且控制服务的CPU.磁盘等资 ...
-
详解 $_SERVER 函数中QUERY_STRING和REQUEST_URI区别
详解 $_SERVER 函数中QUERY_STRING和REQUEST_URI区别 http://blog.sina.com.cn/s/blog_686999de0100jgda.html 实例: ...
-
The Balance(母函数)
The Balance Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Tota ...
-
使用keepalived使用主备热备份功能
图: 配置文件: 主服务器的配置如下: global_defs { router_id NodeA}vrrp_instance VI_1 { state MASTER #设置为主服务器 interfa ...
-
html、text、val、attr、prop区别。this.value和$(this).val()区别以及return用法
html(): html() 方法返回或设置被选元素的内容 (inner HTML). 当使用该方法读取多个值时,它会返回第一个匹配元素的内容. 当使用该方法设置一个值时,它会覆盖所有匹配元素的内容. ...
-
SSM框架:解决后台传数据到前台中文乱码问题,使用@ResponseBody返回json 中文乱码
解决方法一:@RequestMapping(value="/getphone",produces = "text/plain;charset=utf-8") / ...
-
Mysql中 in or exists not exists not in区别 (网络整理)
in 和or区别: 如果in和or所在列有索引或者主键的话,or和in没啥差别,执行计划和执行时间都几乎一样. 如果in和or所在列没有 索引的话,性能差别就很大了.在没有索引的情况下,随着in或者o ...
-
内核里面writel(readl)是如何实现的
writel和readl,这两个个函数实现在操作系统层,有内存保护的情况下,往一个寄存器或者内存地址写一个数据.先说一下writel: 在arch/alpha/kernel/io.c中有 void ...
-
breakthroughs in statistics | 统计学历史
<breakthroughs in statistics>- 这本书理解透了,统计方面应该可以封神了. 亚马逊上有卖,貌似还有好几卷. Breakthroughs in Statistic ...