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 过滤字符串的技巧,map与itertools.imap
Sep 06 Python
Python函数式编程指南(一):函数式编程概述
Jun 24 Python
python实现图书管理系统
Mar 12 Python
Django+JS 实现点击头像即可更改头像的方法示例
Dec 26 Python
分享8个非常流行的 Python 可视化工具包
Jun 05 Python
Python使用Opencv实现图像特征检测与匹配的方法
Oct 30 Python
通过python实现windows桌面截图代码实例
Jan 17 Python
解决Django响应JsonResponse返回json格式数据报错问题
Aug 09 Python
python使用布隆过滤器的实现示例
Aug 20 Python
Python 实现国产SM3加密算法的示例代码
Sep 21 Python
Python加载数据的5种不同方式(收藏)
Nov 13 Python
python 爬取天气网卫星图片
Jun 07 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
用windows下编译过的eAccelerator for PHP 5.1.6实现php加速的使用方法
2007/09/30 PHP
php设计模式 Delegation(委托模式)
2011/06/26 PHP
php中的观察者模式简单实例
2015/01/20 PHP
php打印一个边长为N的实心和空心菱型的方法
2015/03/02 PHP
PHP命令空间namespace及use的用法小结
2017/11/27 PHP
一行代码告别document.getElementById
2012/06/01 Javascript
JS 排序输出实现table行号自增前端动态生成的tr
2014/08/13 Javascript
20个实用的JavaScript技巧分享
2014/11/28 Javascript
浅谈js中的闭包
2015/03/16 Javascript
利用原生JS与jQuery实现数字线性变化的动画
2017/02/24 Javascript
Django+Vue.js搭建前后端分离项目的示例
2017/08/07 Javascript
vue中子组件传递数据给父组件的讲解
2019/01/27 Javascript
layui 富文本赋值,取值,取纯文本值的实例
2019/09/18 Javascript
js实现简单掷骰子小游戏
2019/10/24 Javascript
ES6学习笔记之let与const用法实例分析
2020/01/22 Javascript
Vue+Element ui 根据后台返回数据设置动态表头操作
2020/09/21 Javascript
基于vue项目设置resolves.alias: '@'路径并适配webstorm
2020/12/02 Vue.js
[55:54]FNATIC vs EG 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/16 DOTA
Python3基础之条件与循环控制实例解析
2014/08/13 Python
Python中的下划线详解
2015/06/24 Python
详细分析python3的reduce函数
2017/12/05 Python
Python符号计算之实现函数极限的方法
2019/07/15 Python
python判断一个对象是否可迭代的例子
2019/07/22 Python
python实现美团订单推送到测试环境,提供便利操作示例
2019/08/09 Python
python修改linux中文件(文件夹)的权限属性操作
2020/03/05 Python
python使用pyecharts库画地图数据可视化的实现
2020/03/25 Python
Python使用os.listdir和os.walk获取文件路径
2020/05/21 Python
python中_del_还原数据的方法
2020/12/09 Python
python基于opencv实现人脸识别
2021/01/04 Python
在HTML5 Canvas中放入图片和保存为图片的方法
2014/05/03 HTML / CSS
Ego Shoes官网:英国时髦鞋类品牌
2020/10/19 全球购物
5个HTML5的常用本地存储方式详解与介绍
2021/03/27 HTML / CSS
现金会计岗位职责
2013/12/05 职场文书
环保建议书200字
2014/05/14 职场文书
python 标准库原理与用法详解之os.path篇
2021/10/24 Python
Java8中接口的新特性使用指南
2021/11/01 Java/Android