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在windows和linux下获得本机本地ip地址方法小结
Mar 20 Python
Python常用的文件及文件路径、目录操作方法汇总介绍
May 21 Python
Python正则表达式分组概念与用法详解
Jun 24 Python
Python实现抓取网页生成Excel文件的方法示例
Aug 05 Python
python3爬虫获取html内容及各属性值的方法
Dec 17 Python
python pytest进阶之conftest.py详解
Jun 27 Python
python3 requests库文件上传与下载实现详解
Aug 22 Python
用Python写一个自动木马程序
Sep 17 Python
Python文件操作基础流程解析
Mar 19 Python
django迁移文件migrations的实现
Mar 31 Python
python接口自动化之ConfigParser配置文件的使用详解
Aug 03 Python
python实现录制全屏和选择区域录屏功能
Feb 05 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就可用
2010/10/12 PHP
apache和php之间协同工作的配置经验分享
2013/04/08 PHP
php操作redis中的hash和zset类型数据的方法和代码例子
2014/07/05 PHP
php实现等比例不失真缩放上传图片的方法
2016/11/14 PHP
Convert Seconds To Hours
2007/06/16 Javascript
js 数值项目的格式化函数代码
2010/05/14 Javascript
JavaScript控制按钮可用或不可用的方法
2015/04/03 Javascript
JS简单实现tab切换效果的多窗口显示功能
2016/09/07 Javascript
js 点击a标签 获取a的自定义属性方法
2016/11/21 Javascript
javascript 使用正则test( )第一次是 true,第二次是false
2017/02/22 Javascript
详解Vue.js入门环境搭建
2017/03/17 Javascript
nodejs socket服务端和客户端简单通信功能
2017/09/14 NodeJs
JS返回顶部实例代码
2020/08/09 Javascript
详解uniapp的全局变量实现方式
2021/01/11 Javascript
[02:59]2014DOTA2西雅图国际邀请赛 圆满落幕中国夺冠
2014/07/23 DOTA
python实现封装得到virustotal扫描结果
2014/10/05 Python
python列表的常用操作方法小结
2016/05/21 Python
Python3 读取Word文件方式
2020/02/13 Python
CSS中几个与换行有关的属性简明总结
2014/04/15 HTML / CSS
Clarks鞋美国官网:全球领军鞋履品牌
2017/05/13 全球购物
中国京东和泰国中央集团合资的网站:JD CENTRAL
2020/08/22 全球购物
大学生学习生活的自我评价
2013/11/01 职场文书
师范教师毕业鉴定
2014/01/13 职场文书
人力资源专员岗位职责
2014/01/30 职场文书
高中军训感言800字
2014/03/05 职场文书
一年级学生评语大全
2014/04/21 职场文书
银行求职信
2014/05/31 职场文书
珠宝的促销活动方案
2014/08/31 职场文书
死亡赔偿协议书
2015/01/28 职场文书
2015年教师党员自我评价材料
2015/03/04 职场文书
技术员岗位职责范本
2015/04/11 职场文书
消防演习通知
2015/04/25 职场文书
检讨书格式
2019/04/25 职场文书
通过Qt连接OpenGauss数据库的详细教程
2021/06/23 PostgreSQL
利用python做数据拟合详情
2021/11/17 Python
Windows下载并安装MySQL8.0.x 版本的完整教程
2022/04/10 MySQL