django项目中form表单和ajax的文件上传功能。
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到爆炸而且用户体验极差,现在介绍一个一部批量上传图片的小技巧,忘帮助他人的同时也警醒自己在代码的编写时不要只顾着方便,也要考虑代码的健 ...
随机推荐
- 20190802_Nginx基础
20190802_Nginx基础 文章主要内容: 关于中间件比较通俗易懂的解释 Nginx简述 Nginx环境配置以及安装 Nginx的目录和配置语法 Nginx日志_log_format Nginx ...
- Ognl 语法基础教程
本文将力求用最简单的语言和实例,介绍一下 OGNL 的语法规则,文章主要内容参考自官方文档http://commons.apache.org/proper/commons-ognl/language- ...
- Zookeeper的介绍与基本部署
目录 简介 架构 安装 StandAlone模式 1. 安装 2. 修改配置 3. 启动 4. 验证 5. 基本用法 Distributed模式 1. 配置hosts 2. 配置zoo.cfg 3. ...
- Collection 接口的 toArray 方法
Collection 接口的 toArray 方法 方法签名 Object[] toArray() 返回包含此 collection 中所有元素的数组. T[] toArray(T[] a) 返回包含 ...
- [转帖]Linux日志文件utmp、wtmp、lastlog、messages
Linux日志文件utmp.wtmp.lastlog.messages https://www.cnblogs.com/zhuiluoyu/p/6874255.html 1.有关当前登录用户的信息记录 ...
- java 对象参数去空格方式
import java.lang.reflect.Field; import java.lang.reflect.Method; public class Test { /** * 去掉bean中所有 ...
- OpenCV 静态库 CMAKE 文件
cmake_minimum_required(VERSION 3.12)project(computer_cv) set(CMAKE_CXX_STANDARD 11) find_package(Ope ...
- Linux时间日期类,压缩和解压类
一.时间日期类 1.data指令 1.基本指令 date 显示当前日期 data +%Y 显示当前年份 data +%m 显示当前月份 data +%d 显示当前天 data +%Y-%m-%d %H ...
- 删除字符串中的字符(C语言)
题目: 编程序将给定字符串中指定字符删除.要求删除指定字符后原字符串不能留下空位置,字符串和指定字符均由键盘输入 基本思路 将字符串与要删除的字符进行比较,若为相同字符,则将字符串中的该字符替换为原字 ...
- 12. Scala模式匹配
12.1 match 12.1.1 基本介绍 Scala中的模式匹配类似于Java中的switch语法,但是更加强大 模式匹配语法中,采用match关键字声明,每个分支采用case关键字进行声明,当需 ...