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脚本
Feb 10 Python
Python中无限元素列表的实现方法
Aug 18 Python
使用Python脚本在Linux下实现部分Bash Shell的教程
Apr 17 Python
Python使用Phantomjs截屏网页的方法
May 17 Python
使用pandas将numpy中的数组数据保存到csv文件的方法
Jun 14 Python
用Python实现筛选文件脚本的方法
Oct 27 Python
python pandas读取csv后,获取列标签的方法
Nov 12 Python
基于python实现的百度音乐下载器python pyqt改进版(附代码)
Aug 05 Python
Python3 shelve对象持久存储原理详解
Mar 23 Python
详解python tkinter 图片插入问题
Sep 03 Python
Python网络编程之ZeroMQ知识总结
Apr 25 Python
Python使用华为API为图像设置多个锚点标签
Apr 12 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)
2010/09/04 PHP
php数组函数序列之array_search()- 按元素值返回键名
2011/11/04 PHP
php页面缓存ob系列函数介绍
2012/10/18 PHP
php获取百度收录、百度热词及百度快照的方法
2015/04/02 PHP
学习ExtJS fit布局使用说明
2009/10/08 Javascript
dreamweaver 安装Jquery智能提示
2011/04/02 Javascript
js的表单操作 简单计算器
2011/12/29 Javascript
js动态为代码着色显示行号
2013/05/29 Javascript
模拟jQuery中的ready方法及实现按需加载css,js实例代码
2013/09/27 Javascript
利用cookie记住背景颜色示例代码
2013/11/04 Javascript
js判断undefined类型,undefined,null, 的区别详细解析
2013/12/16 Javascript
关于JavaScript命名空间的一些心得
2014/06/07 Javascript
js正则表达式验证邮件地址
2015/11/12 Javascript
Highcharts入门之基本属性
2016/08/02 Javascript
jQuery EasyUI Tab 选项卡问题小结
2016/08/16 Javascript
浅谈Vue render函数在ElementUi中的应用
2018/09/06 Javascript
Vue中的v-for指令不起效果的解决方法
2018/09/27 Javascript
vue如何限制只能输入正负数及小数
2019/07/04 Javascript
JS正则表达式验证端口范围(0-65535)
2020/01/06 Javascript
24个ES6方法解决JS实际开发问题(小结)
2020/05/31 Javascript
[48:35]2018DOTA2亚洲邀请赛 4.1 小组赛 A组加赛 TNC vs Optic
2018/04/03 DOTA
使用python解析xml成对应的html示例分享
2014/04/02 Python
scrapy自定义pipeline类实现将采集数据保存到mongodb的方法
2015/04/16 Python
Python基于checksum计算文件是否相同的方法
2015/07/09 Python
Python实现调度算法代码详解
2017/12/01 Python
Python读写文件基础知识点
2019/06/10 Python
Python 列表的清空方式
2020/01/13 Python
django使用JWT保存用户登录信息
2020/04/22 Python
Kears 使用:通过回调函数保存最佳准确率下的模型操作
2020/06/17 Python
python 实现弹球游戏的示例代码
2020/11/17 Python
建筑工程技术应届生自荐信
2013/09/27 职场文书
国贸专业毕业求职信
2014/06/11 职场文书
小学一年级学生评语大全
2014/12/25 职场文书
售票员岗位职责
2015/02/15 职场文书
python中pandas.read_csv()函数的深入讲解
2021/03/29 Python
MySQL通过binlog恢复数据
2021/05/27 MySQL