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 相关文章推荐
简单的通用表达式求10乘阶示例
Mar 03 Python
python编码最佳实践之总结
Feb 14 Python
python3新特性函数注释Function Annotations用法分析
Jul 28 Python
python中判断文件编码的chardet(实例讲解)
Dec 21 Python
Python实现数据结构线性链表(单链表)算法示例
May 04 Python
python列表推导式操作解析
Nov 26 Python
使用python切片实现二维数组复制示例
Nov 26 Python
python 图像的离散傅立叶变换实例
Jan 02 Python
Python字典深浅拷贝与循环方式方法详解
Feb 09 Python
python爬虫库scrapy简单使用实例详解
Feb 10 Python
Django model class Meta原理解析
Nov 14 Python
LyScript实现绕过反调试保护的示例详解
Aug 14 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
基于文本的访客签到簿
2006/10/09 PHP
php短域名转换为实际域名函数
2011/01/17 PHP
php实现保存submit内容之后禁止刷新
2014/03/19 PHP
PHP与MYSQL中UTF8 中文排序示例代码
2014/10/23 PHP
PHP中把有符号整型转换为无符号整型方法
2015/05/27 PHP
CodeIgniter框架验证码类库文件与用法示例
2017/03/18 PHP
PHP实现关键字搜索后描红功能示例
2019/07/03 PHP
PHP如何获取Cookie并实现模拟登录
2020/07/16 PHP
通过Jquery遍历Json的两种数据结构的实现代码
2011/01/19 Javascript
从零开始学习jQuery (四) jQuery中操作元素的属性与样式
2011/02/23 Javascript
asp.net中System.Timers.Timer的使用方法
2013/03/20 Javascript
JS添加删除一组文本框并对输入信息加以验证判断其正确性
2013/04/11 Javascript
jQuery判断checkbox(复选框)是否被选中以及全选、反选实现代码
2014/02/21 Javascript
js鼠标点击图片切换效果代码分享
2015/08/26 Javascript
jQuery-1.9.1源码分析系列(十)事件系统之事件体系结构
2015/11/19 Javascript
用js实现简单算法的实例代码
2016/09/24 Javascript
jQuery NProgress.js加载进度插件的简单使用方法
2018/01/31 jQuery
JavaScript设计模式之装饰者模式实例详解
2019/01/17 Javascript
javascript实现点击星星小游戏
2019/12/24 Javascript
jquery实现上传图片功能
2020/06/29 jQuery
[37:37]DAC2018 4.4 淘汰赛 Optic vs Mineski 第二场
2018/04/05 DOTA
Python中关于使用模块的基础知识
2015/05/24 Python
flask-socketio实现WebSocket的方法
2018/07/31 Python
python将控制台输出保存至文件的方法
2019/01/07 Python
Pyinstaller打包.py生成.exe的方法和报错总结
2019/04/02 Python
详解python读取image
2019/04/03 Python
Python使用LDAP做用户认证的方法
2019/06/20 Python
使用python写一个自动浏览文章的脚本实例
2019/12/05 Python
Python基础进阶之海量表情包多线程爬虫功能的实现
2020/12/17 Python
一款纯css3实现的非常实用的鼠标悬停特效演示
2014/11/05 HTML / CSS
广告学专业推荐信范文
2013/11/23 职场文书
《狐假虎威》教学反思
2014/02/07 职场文书
Nginx Rewrite使用场景及配置方法解析
2021/04/01 Servers
MySQL中B树索引和B+树索引的区别详解
2022/03/03 MySQL
MySQL数据库 安全管理
2022/05/06 MySQL
Linux中文件的基本属性介绍
2022/06/01 Servers