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日期操作学习笔记
Oct 07 Python
使用python BeautifulSoup库抓取58手机维修信息
Nov 21 Python
利用Python脚本实现ping百度和google的方法
Jan 24 Python
python根据unicode判断语言类型实例代码
Jan 17 Python
python实现排序算法解析
Sep 08 Python
Python自动抢红包教程详解
Jun 11 Python
python Pandas如何对数据集随机抽样
Jul 29 Python
Python人工智能之路 jieba gensim 最好别分家之最简单的相似度实现
Aug 13 Python
基于Python爬取爱奇艺资源过程解析
Mar 02 Python
Python无头爬虫下载文件的实现
Apr 02 Python
Python办公自动化之教你如何用Python将任意文件转为PDF格式
Jun 28 Python
Python3使用Qt5来实现简易的五子棋小游戏
May 02 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函数
2011/05/31 PHP
详解如何在云服务器上部署Laravel
2017/06/30 PHP
利用PHPStorm如何开发Laravel应用详解
2017/08/30 PHP
对laravel的csrf 防御机制详解,及form中csrf_token()的存在介绍
2019/10/24 PHP
用脚本调用样式的几种方法
2006/12/09 Javascript
ListBox实现上移,下移,左移,右移的简单实例
2014/02/13 Javascript
JS计算网页停留时间代码
2014/04/28 Javascript
JavaScript 学习笔记之操作符(续)
2015/01/14 Javascript
jQuery处理图片加载失败的常用方法
2015/06/08 Javascript
JavaScript实现256色转灰度图
2017/02/22 Javascript
JQuery查找子元素find()和遍历集合each的方法总结
2017/03/07 Javascript
AngularJS实现根据不同条件显示不同控件
2017/04/20 Javascript
深入理解JavaScript 参数按值传递
2017/05/24 Javascript
jQuery选择器之子元素选择器详解
2017/09/18 jQuery
vue-cli脚手架config目录下index.js配置文件的方法
2018/03/13 Javascript
JS对象与json字符串相互转换实现方法示例
2018/06/14 Javascript
jQuery实现的记住帐号密码功能完整示例
2019/08/03 jQuery
基于Vue 撸一个指令实现拖拽功能
2019/10/09 Javascript
VUE.CLI4.0配置多页面入口的实现
2019/11/25 Javascript
Vue通过provide inject实现组件通信
2020/09/03 Javascript
工作中常用js功能汇总
2020/11/07 Javascript
python实现的系统实用log类实例
2015/06/30 Python
Python工程师面试题 与Python Web相关
2016/01/14 Python
python使用turtle绘制分形树
2018/06/22 Python
详解Python最长公共子串和最长公共子序列的实现
2018/07/07 Python
Python面向对象程序设计OOP入门教程【类,实例,继承,重载等】
2019/01/05 Python
使用python画社交网络图实例代码
2019/07/10 Python
《雕塑之美》教学反思
2014/04/24 职场文书
奉献演讲稿范文
2014/05/21 职场文书
经济贸易专业自荐信
2014/06/11 职场文书
民警群众路线教育实践活动对照检查材料
2014/10/04 职场文书
党的群众路线教育实践活动党员个人整改措施
2014/10/27 职场文书
幼师辞职信范文
2015/02/27 职场文书
公司行政管理制度范本
2015/08/05 职场文书
幼儿园开学家长寄语(2016秋季)
2015/12/03 职场文书
《成长的天空》读后感3篇
2019/12/06 职场文书