django项目中form表单和ajax的文件上传功能。

时间:2022-09-14 13:41:42

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>

上传成功示例

django项目中form表单和ajax的文件上传功能。

#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&lowbar;ajax模拟form表单提交&lowbar;多文件上传&lowbar;支持单个删除

    需求场景: 用一个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. Access forbidden&excl; You don&&num;39&semi;t have permission to access the requested object&period; It is either read-protected or not readable by the server

    好久不没弄 apache和php了,突然遇到这种奇葩的问题,本来想直接在网上找现成的解决思路,结果网上搜索花了不少功夫,也没找到原因. 后来看日志文件:apache\logs\error.log发现了 ...

  2. storm如何保证at least once语义?

    背景 前期收到的问题: 1.在Topology中我们可以指定spout.bolt的并行度,在提交Topology时Storm如何将spout.bolt自动发布到每个服务器并且控制服务的CPU.磁盘等资 ...

  3. 详解 &dollar;&lowbar;SERVER 函数中QUERY&lowbar;STRING和REQUEST&lowbar;URI区别

    详解 $_SERVER 函数中QUERY_STRING和REQUEST_URI区别 http://blog.sina.com.cn/s/blog_686999de0100jgda.html   实例: ...

  4. The Balance&lpar;母函数&rpar;

    The Balance Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Tota ...

  5. 使用keepalived使用主备热备份功能

    图: 配置文件: 主服务器的配置如下: global_defs { router_id NodeA}vrrp_instance VI_1 { state MASTER #设置为主服务器 interfa ...

  6. html、text、val、attr、prop区别。this&period;value和&dollar;&lpar;this&rpar;&period;val&lpar;&rpar;区别以及return用法

    html(): html() 方法返回或设置被选元素的内容 (inner HTML). 当使用该方法读取多个值时,它会返回第一个匹配元素的内容. 当使用该方法设置一个值时,它会覆盖所有匹配元素的内容. ...

  7. SSM框架:解决后台传数据到前台中文乱码问题,使用&commat;ResponseBody返回json 中文乱码

    解决方法一:@RequestMapping(value="/getphone",produces = "text/plain;charset=utf-8") / ...

  8. Mysql中 in or exists not exists not in区别 (网络整理)

    in 和or区别: 如果in和or所在列有索引或者主键的话,or和in没啥差别,执行计划和执行时间都几乎一样. 如果in和or所在列没有 索引的话,性能差别就很大了.在没有索引的情况下,随着in或者o ...

  9. 内核里面writel&lpar;readl&rpar;是如何实现的

    writel和readl,这两个个函数实现在操作系统层,有内存保护的情况下,往一个寄存器或者内存地址写一个数据.先说一下writel:   在arch/alpha/kernel/io.c中有 void ...

  10. breakthroughs in statistics &vert; 统计学历史

    <breakthroughs in statistics>- 这本书理解透了,统计方面应该可以封神了. 亚马逊上有卖,貌似还有好几卷. Breakthroughs in Statistic ...