一、form表单的形式上传文件

1、路由

urlpatterns = [
path("upload/", views.UploadView.as_view(),)
]

  

2、视图

from django.views import View

class UploadView(View):

    def get(self,reqeust):
return render(reqeust,"index.html") #get请求时,返回一个HTML页面 def post(self,reqeust):
put_file = reqeust.FILES.get("put_file") #上传文件的post请求时,获取文件内容-->putfile
print(put_file.name) #打印文件名 with open(put_file.name,"wb") as f: #将文件内容写入到文件中保存
for line in put_file:
f.write(line) return HttpResponse("上传成功!") #返回结果提示

  

3、模板index.html

<h3>基于form表单的文件上传</h3>

<form action="/upload/" method="post" enctype="multipart/form-data">
<input type="file" name="put_file">
<input type="submit">
</form> {#提交文件时,必须设置为这个参数:enctype="multipart/form-data"#}

二、Ajax的形式上传文件

1、后端代码和form表单上传的形式一样

2、前端代码:

<h3>基于Ajax的文件上传</h3>
<div>
<input type="file" class="put_file">
<input type="button" value="提交" class="btn">
<span class="tip"></span> {# 上传成功后的提示信息显示位置 #}
</div> <script>
//提交按钮的点击事件
$(".btn").click(function () { //定义一个变量formdata,作为要发送的数据
var formdata = new FormData(); //将formdata组成键值对的形式,put_file=$(".put_file")[0].files[0],也就是:key=value,value是文件的内容
formdata.append("put_file",$(".put_file")[0].files[0]); $.ajax({
url:"/upload/",
type:"post",
data:formdata, //要发送的数据,为上面准好的 --> formdata
contentType:false,
processData:false,
success:function (res) {
$(".tip").html(res); //显示上传成功后的提示信息
}
})
})
</script>

利用Django实现文件上传的更多相关文章

  1. Java 利用SWFUpload多文件上传 session 为空失效,不能验证的问题 swfUpload多文件上传

    Java 利用SWFUpload多文件上传 session 为空失效,不能验证的问题(转) 我们都知道普通的文件上传是通过表单进行文件上传的,还不能达到异步上传的目的.通过使用某些技术手段,比如jqu ...

  2. python Django之文件上传

    python Django之文件上传 使用Django框架进行文件上传共分为俩种方式 一.方式一 通过form表单进行文件上传 #=================================== ...

  3. day56:django:csrf_token&文件上传

    目录 1.csrf介绍 2.django实现csrf_token认证 3.django实现文件上传 csrf介绍 什么是csrf? csrf:跨站请求伪造.攻击者通过HTTP请求将数据传送到服务器,从 ...

  4. Azure Terraform(十二)利用 Terraform 将文件上传到 Azure Blob Storage

    一,引言 本篇文章中,我门将学习如何利用 Terraform 将 文件以及文件夹上传到 Azure Blob Storage,这个对于我们来说很方便,可以将一些不重要的内容也存储在源代码管理工具中! ...

  5. Django普通文件上传

    前端代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF ...

  6. Django(十七)文件上传

    http://www.cnblogs.com/wupeiqi/articles/5703697.html - 文件上传        - 普通上传        - 自定义页面上传按钮        ...

  7. selenium+java利用AutoIT实现文件上传

    转自https://www.cnblogs.com/yunman/p/7112882.html?utm_source=itdadao&utm_medium=referral 1.AutoIT介 ...

  8. 框架----Django之文件上传

    一.文件上传 1. 浏览器访问 http://127.0.0.1:8000/f1/ http://127.0.0.1:8000/f2/ 2. urls from django.conf.urls im ...

  9. Django的文件上传以及预览、存储

    思路: 文件上传通过前端的input标签,input设置display:none属性. 内容显示需要让前端通过<img>标签读取图片内容,可以通过<label>标签连接< ...

  10. Angular14 利用Angular2实现文件上传的前端、利用springBoot实现文件上传的后台、跨域问题

    一.angular2实现文件上传前端 Angular2使用ng2-file-upload上传文件,Angular2中有两个比较好用的上传文件的第三方库,一个是ng2-file-upload,一个是ng ...

随机推荐

  1. mogdb里xlog相关的几个参数

    openGauss/MogDB 3.0 闪回恢复测试 本文出处:https://www.modb.pro/db/411368 介绍 闪回恢复功能是数据库恢复技术的一环,可以有选择性的撤销一个已提交事务 ...

  2. etcd 历史版本回溯的方法

    在使用 etcd 作为配置存储或者其他的场景,如果因为误操作对其中 key 的值进行了修改,如果想要找回原来的值,可以利用 etcd 的版本机制进行回溯找回以前的值.在具体操作之前,我们首先获取一下 ...

  3. 如何解决打不开Microsoft Store的痛处?

    换了机房后,我最喜欢的计算器和画图3d没有了,网上的方法都行不通,怎么办? 第一步,在百度上搜索你想安装的东西,例如我搜索的画图3d,就会有这个链接. 然后,把这个链接复制到这个网站的搜索框中,就会有 ...

  4. 本地部署Llama3-8B/72b 并进行逻辑推理测试

    美国当地时间4月18日,Meta开源了Llama3大模型,目前开源版本为8B和70B.Llama 3模型相比Llama 2具有重大飞跃,并在8B和70B参数尺度上建立了LLM模型的新技术.由于预训练和 ...

  5. 探索Kimi智能助手:如何用超长文本解锁高效信息处理新境界

    目前,Kimi备受瞩目,不仅在社交平台上引起了广泛关注,而且在解决我们的实际问题方面也显示出了巨大潜力.其支持超长文本的特性使得我们能够更加灵活地配置信息,避免了频繁与向量数据库进行交互以及编写提示词 ...

  6. 力扣412(java)-Fizz Buzz(简单)

    题目: 给你一个整数 n ,找出从 1 到 n 各个整数的 Fizz Buzz 表示,并用字符串数组 answer(下标从 1 开始)返回结果,其中: answer[i] == "FizzB ...

  7. 谢老师2024春 - Day2:期望DP

    Day2:期望DP​​ A - CF148D Bag of mice 设 \(dp_{i,j}\) 表示还剩下 \(i\) 只白鼠,\(j\) 只黑鼠 A 的胜率. 大家都没有拿到白鼠,那么 B 赢, ...

  8. [FE] FastAdmin 动态下拉组件 Selectpage 自定义 data-params

    正常情况下,我们想获取列表只需要定义接口路径和要显示的字段名即可, 比如: <input id="c-package_ids" data-rule="require ...

  9. 15.prometheus之pushgateway自定义监控

    一.Pushgateway 1.Pushgateway简介 Pushgateway 是 Prometheus 生态中一个重要工具,使用它的原因主要是: ● Prometheus 采用 pull 模式, ...

  10. k8s网页访问实战

    流程: 客户端访问--->ingress七层代理---->service四层代理---->deployment 详细情况:https://www.cnblogs.com/yangme ...