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编写电话薄实现增删改查功能
May 07 Python
Python之读取TXT文件的方法小结
Apr 27 Python
python使用openpyxl库修改excel表格数据方法
May 03 Python
基于python3 OpenCV3实现静态图片人脸识别
May 25 Python
python面向对象多线程爬虫爬取搜狐页面的实例代码
May 31 Python
Python实现查找二叉搜索树第k大的节点功能示例
Jan 24 Python
python实现字符串加密成纯数字
Mar 19 Python
Tornado实现多进程/多线程的HTTP服务详解
Jul 25 Python
Python实现串口通信(pyserial)过程解析
Sep 25 Python
tensorflow将图片保存为tfrecord和tfrecord的读取方式
Feb 17 Python
TensorFlow固化模型的实现操作
May 26 Python
利用Python如何制作贪吃蛇及AI版贪吃蛇详解
Aug 24 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一些有意思的小区别
2006/12/06 PHP
浅析Yii中使用RBAC的完全指南(用户角色权限控制)
2013/06/20 PHP
让CodeIgniter数据库缓存自动过期的处理的方法
2014/06/12 PHP
php获取文章上一页与下一页的方法
2014/12/01 PHP
详解PHP中cookie和session的区别及cookie和session用法小结
2016/06/12 PHP
JQuery 常用方法基础教程
2009/02/06 Javascript
解析DHTML,JavaScript,DOM,BOM以及WEB标准的描述
2013/06/19 Javascript
实现非常简单的js双向数据绑定
2015/11/06 Javascript
JS Array.slice 截取数组的实现方法
2016/01/02 Javascript
详解AngularJS中$http缓存以及处理多个$http请求的方法
2016/02/06 Javascript
用nodejs的实现原理和搭建服务器(动态)
2016/08/10 NodeJs
浅谈jQuery hover(over, out)事件函数
2016/12/03 Javascript
关于bootstrap日期转化,bootstrap-editable的简单使用,bootstrap-fileinput的使用详解
2017/05/12 Javascript
JavaScript面向对象精要(上部)
2017/09/12 Javascript
angular ng-model 无法获取值的处理方法
2018/10/02 Javascript
深入了解JavaScript 防抖和节流
2019/09/12 Javascript
JavaScript设计模式之门面模式原理与实现方法分析
2020/03/09 Javascript
[01:08:00]Fnatic vs Winstrike 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
打印出python 当前全局变量和入口参数的所有属性
2009/07/01 Python
Python语言描述连续子数组的最大和
2018/01/04 Python
用python脚本24小时刷浏览器的访问量方法
2018/12/07 Python
解决Atom安装Hydrogen无法运行python3的问题
2019/08/28 Python
如何使用PyCharm引入需要使用的包的方法
2020/09/22 Python
python使用re模块爬取豆瓣Top250电影
2020/10/20 Python
python+opencv实现车道线检测
2021/02/19 Python
python自动生成sql语句的脚本
2021/02/24 Python
美国专业消费电子及摄影器材网站:B&H Photo Video
2019/12/18 全球购物
大学生职业生涯规划书参考模板
2014/03/05 职场文书
优秀护士先进事迹
2014/05/08 职场文书
任命书范本大全
2014/06/06 职场文书
中层领导干部群众路线对照检查材料思想汇报
2014/10/02 职场文书
学生喝酒检讨书500字
2014/11/02 职场文书
2014年社区教育工作总结
2014/12/02 职场文书
工程资料员岗位职责
2015/04/13 职场文书
使用 JavaScript 制作页面效果
2021/04/21 Javascript
英国数字版游戏销量周榜公布 《小缇娜的奇幻之地》登顶
2022/04/03 其他游戏