python 文件上传下载,python实现上传下载文件功能
最近刚学python,遇到上传下载文件功能需求,记录下!
django web项目,前端上传控件用的是uploadify。
文件上传 - 后台view 的 Python代码如下:
@csrf_exempt
@require_http_methods(["POST"])
def uploadFiles(request):
try:
user = request.session.get('user')
allFimeNames = ""
#获取所有上传文件
files = request.FILES.getlist("file")
for file in files:
# 获取文件名 解析文件后缀 获取新文件名
oldName = file.name
filename = str(int(time.time() * 10))+"."+oldName.split(".")[1]
now = datetime.now()
filePath = os.path.join("developmentTask",str(user.get("userId"))+"-"+now.strftime('%Y-%m-%d'))
dirpath = os.path.join(settings.UPLOADFILES_DIRS , filePath)
#写入服务器
if not os.path.exists(dirpath):
os.makedirs(dirpath)
newFilePath = os.path.join(dirpath, filename)
with open(newFilePath, 'wb+') as destination:
for chunk in file.chunks():
destination.write(chunk)
#返回新文件名 多个用逗号隔开
allFimeNames = os.path.join(filePath,filename)
except Exception:
return JsonResponse(data={'error': "系统异常"}, status=400)
return JsonResponse(data={'filePath': allFimeNames})
request.FILES.getlist("file")此处的file 是前端页面的文件提交的名称,可以在uploadify中配置。
文件下载:
@csrf_exempt
@require_http_methods(["GET"])
def downloadFile(request):
filePath = request.GET.get("filepath")
fileName = request.GET.get("filename")
file_name = os.path.join(settings.UPLOADFILES_DIRS, filePath)
if os.path.exists(file_name):
def file_iterator(file_name, chunk_size=512):
with open(file_name) as f:
while True:
c = f.read(chunk_size)
if c:
yield c
else:
break
response = StreamingHttpResponse(file_iterator(file_name))
response['Content-Type'] = 'application/octet-stream'
response['Content-Disposition'] = 'attachment;filename="{0}"'.format(fileName)
return response
response = StreamingHttpResponse("文件不存在!")
response['Content-Type'] = 'application/octet-stream'
response['Content-Disposition'] = 'attachment;filename="{0}"'.format("")
return response
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持聚米学院。
python 文件上传下载,python实现上传下载文件功能相关推荐
- python下载文件传到服务器_windows上python上传下载文件到linux服务器指定路径【转】...
从windows上传文件到linux,目录下的文件夹自动创建 #!/usr/bin/env python # coding: utf-8 import paramiko import datetime ...
- Python监控目录文件夹,并使用SFTP上传目录及文件到linux服务器
Python 扫描监控本地文件夹并进行超大文件上传 方案1:WebUploader大文件分块多线程并发上传 方案2:watchdog目录文件夹监控,paramiko STFP上传服务器 方案3:优化2 ...
- python3 上传文件到目标机器_再见Python 2.7,你好Python 3.7
安装python3 直接下载安装 1.下载地址如下:python 3.7 2.点击下载好的pkg文件进行安装 3.安装完成之后,python 3.70的默认安装路径如下: /Library/Frame ...
- pyaudio:基于pyaudio利用Python编程从电脑端录制音频保存到指定文件夹+将录音上传服务器+录音进行识别并转为文本保存
pyaudio:基于pyaudio利用Python编程从电脑端录制音频保存到指定文件夹+将录音上传服务器+录音进行识别并转为文本保存 目录 输出结果 代码实现 输出结果 代码实现 # -*- codi ...
- AWS S3 Windows系统下的文件夹上传基于python
AWS S3 上传文件,基于cmd命令行发现无法上传文件夹,只能上传单个文件,不知道是我能力不行还是什么原因,如果有大佬了解的可以在下面评论下! 一.环境配置 1.win10 X64: 2.awscl ...
- python上传文件到onedrive_基于Python的onedrive文件本地化浏览系统–PyOne
基于Python的onedrive文件本地化浏览系统–PyOne PyOne是一款基于Python-Flask的onedrive文件本地化浏览系统,使用MongoDB储存文件列表,使用redis缓存数 ...
- python第三方库文件传输_本地 Python 代码上传到 Python 第三方库(Pypi)
程序员对于编程都有自己的"套路",好的套路都会得到复用和 IT 界的传播.这时有一个疑问,怎样来实现呢?小编这里就准备介绍如何将自己写的 Python 包上传到 Python 官网 ...
- python selenium 文件上传_Python+Selenium学习--上传文件
场景 文件上传操作也比较常见功能之一,上传功能操作webdriver 并没有提供对应的方法,关键上传文件的思路. 上传过程一般要打开一个系统的window 窗口,从窗口选择本地文件添加.所以,一般会卡 ...
- springboot调用python脚本_Springboot实现上传文件接口,使用python的requests进行组装报文上传文件的方法...
记录瞬间 近段时间使用Springboot实现了文件的上传服务,但是在使用python的requests进行post上传时,总是报错. 比如: 1.Current request is not a m ...
- python接口自动化(三十) 上传文件时自动判断文件类型(filetype)
前言 如何判断一个文件的类型呢,判断这个文件是png还是jpg,还是MP3文件?filetype包是python用来判断文件类型的依赖包,github地址:https://github.com/h2n ...
最新文章
- You might want to run 'apt-get -f install' to correct these: The following packages have unmet depen
- ubuntu 18.04安装米聊
- 【20:30直播】网易老司机聊程序员的职场道路选择
- netty系列之:使用UDP协议
- 验证回文串Python解法
- LeetCode MySQL 1164. 指定日期的产品价格 *
- 全球首发!计算机视觉Polygon Mesh Processing总结7——Remeshing Local Structure
- c++字符串string操作全解
- oracle10g rac导出ocr,Oracle RAC 迁移OCR(10g)
- 网页服务器移机设置,手头有一台服务器,应该怎么配置才能正常作为网站服务器运行呢?...
- C#操作Word书签模板
- 知网查重报告html乱码,知网查重报告出现乱码怎么办
- 英文名字的昵称(亲切的叫法)
- 计算机辅助审计的应用研究,计算机辅助审计技术在我国的应用状况研究(原稿)...
- Android过渡框架之共享元素过渡
- #Paper Reading# Efficient Heterogeneous Collaborative Filtering without NS for Recommendation
- python实现标号法确定最短路径
- 自动驾驶在干线物流的商业化进展综述
- 美漂数据科学家年薪多少?爬了6年H1B签证数据发现,招的人多了,但钱少了
- ASP.NET(C#)常用数据加密和解密方法
热门文章
- java 连接远程服务器_java实现连接远程服务器并执行命令的基本原理
- abap数据类型转换_ABAP 中JSON格式的转换与解析
- python中__init__方法_关于python中__init__方法理解
- 多媒体计算机技术19秋作业1,东师多媒体计算机技术19春在线作业1【标准答案】.doc...
- 高并发负载均衡——网络协议原理
- 仓库货位卡标识牌_【干货】仓库布局,你想学啊,我教你啊!
- 基于Java+jsp+servlet的养老院管理系统设计和实现
- android 对话框 重复,如何在Android上重复使用AlertDialog for Yes / No?
- 资阳停车场系统推荐_详细讲解停车场管理车牌识别系统安装
- conv2d的输入_pytorch1.0中torch.nn.Conv2d用法详解