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的文件上传功能。的更多相关文章

  1. ajax提交表单、ajax实现文件上传

    ajax提交表单.ajax实现文件上传,有需要的朋友可以参考下. 方式一:利用from表单的targer属性 + 隐藏的iframe 达到类似效果, 支持提交含有文件和普通数据的复杂表单 方式二:使用 ...

  2. 用div漂浮快实现与表单无关的多文件上传功能。

    我项目有这个需求,多文件上传,而且要及时显示到表单上,这样的话就不能与表单相关. 由于我对前端不熟,我就实现了这么一个功能,通过button触发一个div漂浮块,然后多文件上传,之后通过js把文件名显 ...

  3. ANDROID使用MULTIPARTENTITYBUILDER实现类似FORM表单提交方式的文件上传

    最近在做 Android 端文件上传,要求采用 form 表单的方式提交,项目使用的 afinal 框架有文件上传功能,但是始终无法与php写的服务端对接上,无法上传成功.读源码发现:afinal 使 ...

  4. js_ajax模拟form表单提交_多文件上传_支持单个删除

    需求场景: 用一个input type="file"按钮上传多张图片,可多次上传,可单独删除,最后使用ajax模拟form表单提交功能提交到指定方法中: 问题:由于只有一个file ...

  5. Java后台使用httpclient入门HttpPost请求(form表单提交,File文件上传和传输Json数据)

    一.HttpClient 简介 HttpClient 是 Apache Jakarta Common 下的子项目,用来提供高效的.最新的.功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 ...

  6. Django框架 之 Form表单和Ajax上传文件

    Django框架 之 Form表单和Ajax上传文件 浏览目录 Form表单上传文件 Ajax上传文件 伪造Ajax上传文件 Form表单上传文件 html 1 2 3 4 5 6 7 <h3& ...

  7. laravel中form表单,ajax传值没反应

    laravel中form表单,ajax传值没反应时,可能是令牌有问题. form中添加: {{csrf_token()}} ajax中添加: data: {'page': page, '_token' ...

  8. Yii2表单提交(带文件上传)

    今天写一个php的表单提交接口,除了基本的字符串数据,还带文件上传,不用说前端form标签内应该有这些属性 <form enctype="multipart/form-data&quo ...

  9. 摒弃FORM表单上传图片,异步批量上传照片

    之前作图像处理一直在用form表单做图片数据传输, 个人感觉low到爆炸而且用户体验极差,现在介绍一个一部批量上传图片的小技巧,忘帮助他人的同时也警醒自己在代码的编写时不要只顾着方便,也要考虑代码的健 ...

随机推荐

  1. wkhtmltopdf cpdf HTML转pdf 及pdf合并

    将 html 转为 pdf :wkhtmltopdf wkhtmltopdf 是一个使用 webkit 网页渲染引擎开发的用来将 html 转成 pdf 的工具,可以跟多种脚本语言进行集成来转换文档. ...

  2. Salesforce 开发整理(六) Visualforce分页

    分页的实现总体上分真分页和假分页. 所谓真分页指页面上列出来的数据就是实际查询的数据,假分页则是无论页面上一次显示多少条记录,实际上后台已经加载了所有的记录,分页只是为了展示给用户查看.今天分享一个V ...

  3. 《Linux就该这么学》培训笔记_ch23_使用OpenLDAP部署目录服务

    <Linux就该这么学>培训笔记_ch23_使用OpenLDAP部署目录服务 文章主要内容: 了解目录服务 目录服务实验 配置LDAP服务端 配置LDAP客户端 了解目录服务 其实目录可以 ...

  4. 自定义标签&JSON数据处理

    最近几日去参加一些面试,多多少少有一些收获. 现将遇到的一些面试题,做一下分析和总结. 1.使用原生JS,不能使用递归,查找dom中所有以“<com-”开头的自定义标签tagName. < ...

  5. 避免maven package 打包时执行 mybatis-generator-maven-plugin 插件

    一.为什么打包时会执行该插件mybatis-generator-maven-plugin默认绑定了package的生命周期 二.如何解决如果在package和install 执行插件,修改pom中的配 ...

  6. 在Apache中安装php5.6 & php7.3

    1.下载 httpd-2.4.41-win64-VC15.zip.php5.6 +  vc11.  php7.3  + vc14-16 2.配置httpd,在 httpd.conf L180 添加如下 ...

  7. Dubbo快速入门 二

    2.dubbo核心概念 2.1).简介 Apache Dubbo (incubating) |ˈdʌbəʊ| 是一款高性能.轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口的远程方法调 ...

  8. Prometheus 配置文件详解

    Prometheus 配置文件详解 官方文档:https://prometheus.io/docs/prometheus/latest/configuration/configuration/ 指标说 ...

  9. 【题解】与查询 [51nod1406]

    [题解]与查询 [51nod1406] 传送门:与查询 \([51nod1406]\) [题目描述] 给出 \(n\) 个整数,对于 \(x \in [0,1000000]\),分别求出在这 \(n\ ...

  10. 『数 变进制状压dp』

    数 Description 给定正整数n,m,问有多少个正整数满足: (1) 不含前导0: (2) 是m的倍数: (3) 可以通过重排列各个数位得到n. \(n\leq10^{20},m\leq100 ...