Django接收照片储存文件的实例代码


Posted in Python onMarch 07, 2020

后端:

from rest_framework.views import APIView
from car import settings
from django.shortcuts import render, redirect, HttpResponse
from dal import models
from django.http import JsonResponse
import os

BASE_DIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))

class Image(APIView):

  def post(self, request):
    file_obj = request.FILES.get('send',None)

    print("file_obj",file_obj.name)

    file_path = os.path.join(BASE_DIR, 'media', 'user/img', file_obj.name)

    print("file_path", file_path)

    with open(file_path, 'w') as f:
      for chunk in file_obj.chunks():
        f.write(chunk)

    message = {}
    message['code'] = 200

    return JsonResponse(message)

前端ajax:

<form method="post" action="/upload/" enctype="multipart/form-data" target="ifm1">
    <input type="file" name="send"/>

    <input type="submit" value="Form表单提交"/>
  </form>

下面在看下在Django中接收文件并存储

首先是一个views函数的例子 

def get_user_profiles(request):
  if request.method == 'POST':
      myFile = request.FILES.get("filename", None)
      if myFile:
        dir = os.path.join(os.path.join(BASE_DIR, 'static'),'profiles')
        destination = open(os.path.join(dir, myFile.name),
                  'wb+')
        for chunk in myFile.chunks():
          destination.write(chunk)
        destination.close()
      return HttpResponse('ok')

这是一个简单的接收客户端上传的头像文件并保存的例子,应该看过这个就已经大体会使用接收文件了

但是这里的filename是客户端上传的文件名,也可能是像下面这样的表单 

<input type="file" name="filename" />

如果不知道固定上传的文件名,想要客户端上传什么文件就以其上传的名字命名可以这么写

def get_user_profiles(request):
  if request.method == 'POST':
    if request.FILES:
      myFile =None
      for i in request.FILES:
        myFile = request.FILES[i]
      if myFile:
        dir = os.path.join(os.path.join(BASE_DIR, 'static'),'profiles')
        destination = open(os.path.join(dir, myFile.name),
                  'wb+')
        for chunk in myFile.chunks():
          destination.write(chunk)
        destination.close()
      return HttpResponse('ok')

不过这个是通过输出request.FILES试出来的,不知道是否有更合适的方法。

总结

到此这篇关于Django接收照片储存文件的实例代码 的文章就介绍到这了,更多相关Django储存文件内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python抓取某汽车网数据解析html存入excel示例
Dec 04 Python
Python中文件操作简明介绍
Apr 13 Python
详解Python当中的字符串和编码
Apr 25 Python
Python构建网页爬虫原理分析
Dec 19 Python
详解Python中where()函数的用法
Mar 27 Python
完美解决python中ndarray 默认用科学计数法显示的问题
Jul 14 Python
Python爬取个人微信朋友信息操作示例
Aug 03 Python
pyside+pyqt实现鼠标右键菜单功能
Dec 08 Python
python并发编程多进程 模拟抢票实现过程
Aug 20 Python
python+adb命令实现自动刷视频脚本案例
Apr 23 Python
Python基于wordcloud及jieba实现中国地图词云图
Jun 09 Python
基于Tensorflow读取MNIST数据集时网络超时的解决方式
Jun 22 Python
Python实现对adb命令封装
Mar 06 #Python
对Python中 \r, \n, \r\n的彻底理解
Mar 06 #Python
python去除删除数据中\u0000\u0001等unicode字符串的代码
Mar 06 #Python
mac在matplotlib中显示中文的操作方法
Mar 06 #Python
python数据类型可变不可变知识点总结
Mar 06 #Python
python GUI库图形界面开发之PyQt5信号与槽的高级使用技巧装饰器信号与槽详细使用方法与实例
Mar 06 #Python
python GUI库图形界面开发之PyQt5信号与槽的高级使用技巧(自定义信号与槽)详解与实例
Mar 06 #Python
You might like
PHP实现MySQL更新记录的代码
2008/06/07 PHP
解析php mysql 事务处理回滚操作(附实例)
2013/08/05 PHP
php的hash算法介绍
2014/02/13 PHP
PHP中使用SimpleXML检查XML文件结构实例
2015/01/07 PHP
php生成验证码函数
2015/10/20 PHP
PHP读取zip文件的方法示例
2016/11/17 PHP
PHP实现大数(浮点数)取余的方法
2017/02/18 PHP
php-msf源码详解
2017/12/25 PHP
Opacity.js
2007/01/22 Javascript
JavaScript二维数组实现的省市联动菜单
2014/05/08 Javascript
JavaScript中实现PHP的打乱数组函数shuffle实例
2014/10/11 Javascript
js clearInterval()方法的定义和用法
2015/11/11 Javascript
Easyui 之 Treegrid 笔记
2016/04/29 Javascript
jquery实现上传文件大小类型的验证例子(推荐)
2016/06/25 Javascript
很棒的js选项卡切换效果
2016/07/15 Javascript
使用JQuery选择HTML遍历函数的方法
2016/09/17 Javascript
vue 简单自动补全的输入框的示例
2018/03/12 Javascript
详解vue-cli下ESlint 配置说明
2018/09/03 Javascript
Node.js API详解之 assert模块用法实例分析
2020/05/26 Javascript
[37:37]DAC2018 4.4 淘汰赛 Optic vs Mineski 第二场
2018/04/05 DOTA
[00:34]拔城逐梦,热血永恒!2020(秋)完美世界城市挑战赛报名开启
2020/10/09 DOTA
Python的lambda匿名函数的简单介绍
2013/04/25 Python
Python pickle模块用法实例分析
2015/05/27 Python
python语言线程标准库threading.local解读总结
2019/11/10 Python
python爬取抖音视频的实例分析
2021/01/19 Python
canvas中普通动效与粒子动效的实现代码示例
2019/01/03 HTML / CSS
公司员工的自我评价范例
2013/11/01 职场文书
专营店会计助理岗位职责
2013/11/29 职场文书
《跨越海峡的生命桥》教学反思
2014/02/24 职场文书
高等教育专业自荐信范文
2014/03/26 职场文书
小学生开学第一课活动方案
2014/03/27 职场文书
高中生第一学年自我鉴定
2014/09/12 职场文书
泰坦尼克号观后感
2015/06/04 职场文书
关于远足的感想
2015/08/10 职场文书
幼儿园大班开学寄语(2016秋季)
2015/12/03 职场文书
Python时间操作之pytz模块使用详解
2022/06/14 Python