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实现上传下载文件功能相关推荐
- android ftp同步程序,ftp同步 安卓,安卓手机ftp上传下载文件功能同步视频照片
手机拍照越来方便,手机里的照片也越积越多,手机运行缓慢,本文利用安卓的每步FTP服务APP来自动实现手机视频照片的同步,释放手机被占用的存储空间.在机顶盒上运行每步FTP服务,机顶盒USB口连接U盘做 ...
- python实现文件上传功能_python实现上传下载文件功能
最近刚学python,遇到上传下载文件功能需求,记录下! django web项目,前端上传控件用的是uploadify. 文件上传 - 后台view 的 Python代码如下: @csrf_exem ...
- python 文件上传下载,python实现上传下载文件功能
最近刚学python,遇到上传下载文件功能需求,记录下! django web项目,前端上传控件用的是uploadify. 文件上传 - 后台view 的 Python代码如下: @csrf_exem ...
- python get 下载 目录_python实现支持目录FTP上传下载文件的方法
本文实例讲述了python实现支持目录FTP上传下载文件的方法.分享给大家供大家参考.具体如下: 该程序支持ftp上传下载文件和目录.适用于windows和linux平台. #!/usr/bin/en ...
- python上传本地文件到ftp_python实现的简单FTP上传下载文件实例
本文实例讲述了python实现的简单FTP上传下载文件的方法.分享给大家供大家参考.具体如下: python本身自带一个FTP模块,可以实现上传下载的函数功能. #!/usr/bin/env pyth ...
- python下载文件传到服务器_windows上python上传下载文件到linux服务器指定路径【转】...
从windows上传文件到linux,目录下的文件夹自动创建 #!/usr/bin/env python # coding: utf-8 import paramiko import datetime ...
- 初级版python登录验证,上传下载文件加MD5文件校验
服务器端程序 import socket import json import struct import hashlib import osdef md5_code(usr, pwd):ret = ...
- python文件拷贝并校验_初级版python登录验证,上传下载文件加MD5文件校验
importosimportjsonimportsocketimportstructimporthashlib#import time deflogin(): usr= input('请输入用户名:' ...
- 如何在linux系统下使用百度云盘上传下载文件?
学习目标: 如何在linux系统下使用百度云盘上传下载文件? 环境准备: linux操作系统 python开发运行环境 文件下载: 1.Linux系统安装工具 pip install requests ...
最新文章
- android Merger 代替 FrameLayout:布局优化
- 在JavaScript中解析JSON? [重复]
- HDU-1128 Self Numbers 筛选
- C#异步编程的实现方式(4)——Task任务
- kinect数据读取
- 又是毕业季I 【O(1)数论】(洛谷P1372题题解,Java语言描述)
- 2017.5.7 过河 失败总结
- python字符串无效的原因_Python(60)扩展和嵌入1.使用 C 或 C++ 扩展 Python
- 智能优化算法:黏菌优化算法 - 附代码
- java热门框架_java今年最流行的3大框架
- MSDN关于消息和消息队列的详细解析
- networkx设置节点的大小_节点大小取决于NetworkX上的节点度
- 骗子丛生的58正失去“神奇”魔法
- 什么是php递归算法_PHP递归算法(三)
- SSM框架整合(以黑马程序员2022最新SSM框架教程P59为例)
- imagecopyresampled要生成彩色却生成了灰色图片
- 跟青翼一起学Qt4编程系列 之 2-1标准对话框
- 什么是hardcode编码
- HTML强制关机,如何强制关机【处置技巧】
- 苹果备份与恢复_手机照片误删了怎么恢复?不得不说的好方法