django 开发之文件上传

创建一个文件夹用于保存上传的路径

然后在setting 里面配置文件的上穿的路径

#配置文件的上传路径MEDIA_URL=‘/uploads‘MEDIA_ROOT=  os.path.join(BASE_DIR,‘uploads‘)

接着在url里面配置用户图像上传的路由

解决富文本编辑器的图片长传问题:

首先要做的就是创建一个upload  python 文件 在你的app下创建、

具体的代码如下

 1 # -*- coding: utf-8 -*-
 2 from django.http import HttpResponse
 3 from django.conf import settings
 4 from django.views.decorators.csrf import csrf_exempt
 5 import os
 6 import uuid
 7 import json
 8 import datetime as dt
 9 #这个装饰器用于不再进行表单验证提交
10 @csrf_exempt
11 def upload_image(request, dir_name):
12     ##################
13     # 这是kindeditor想要的格式
14     #  kindeditor图片上传返回数据格式说明:
15     # {"error": 1, "message": "出错信息"}
16     # {"error": 0, "url": "图片地址"}
17     ##################
18     result = {"error": 1, "message": "上传出错"}
19     #imgFile来自于富文本编辑器查看源码之后找到的它定义的文件名字
20     files = request.FILES.get("imgFile", None)
21     if files:
22         result =image_upload(files, dir_name)
23     return HttpResponse(json.dumps(result), content_type="application/json")
24
25 #目录创建
26 def upload_generation_dir(dir_name):
27     today = dt.datetime.today()
28     dir_name = dir_name + ‘/%d/%d/‘ %(today.year,today.month)
29     if not os.path.exists(settings.MEDIA_ROOT + dir_name):
30         os.makedirs(settings.MEDIA_ROOT + dir_name)
31     return dir_name
32
33 # 图片上传
34 def image_upload(files, dir_name):
35     #允许上传文件类型
36     allow_suffix =[‘jpg‘, ‘png‘, ‘jpeg‘, ‘gif‘, ‘bmp‘]
37     file_suffix = files.name.split(".")[-1]
38     if file_suffix not in allow_suffix:
39         return {"error": 1, "message": "图片格式不正确"}
40     relative_path_file = upload_generation_dir(dir_name)
41     path=os.path.join(settings.MEDIA_ROOT, relative_path_file)
42     if not os.path.exists(path): #如果目录不存在创建目录
43         os.makedirs(path)
44     file_name=str(uuid.uuid1())+"."+file_suffix
45     path_file=os.path.join(path, file_name)
46     file_url = settings.MEDIA_URL + relative_path_file + file_name
47     #写入操作,二进制形式,最终完成上传,真正保存图片
48     open(path_file, ‘wb‘).write(files.file.read())
49     return {"error": 0, "url": file_url}

然后我们在url 里面写入路由

最后我们要在富文本编辑器里面写入路径

				
时间: 2024-10-22 16:43:59

django 开发之文件上传的相关文章

django 快速实现文件上传

前言 对于web开来说,用户登陆.注册.文件上传等是最基础的功能,针对不同的web框架,相关的文章非常多,但搜索之后发现大多都不具有完整性,对于想学习web开发的新手来说就没办法一步一步的操作练习:对于web应用来说,包括数据库的创建,前端页面的开发,以及中间逻辑层的处理三部分. 本系列以可操作性为主,介绍如何通过django web框架来实现一些简单的功能.每一章都具有完整性和独立性.使用新手在动手做的过程中体会web开发的过程,过程中细节请参考相关文档. 本操作的环境: ==========

IOS开发之文件上传

IOS开发之文件上传 在移动应用开发  文件形式上传是必不可少的,最近把IOS这块文件上传文件代码简单的整理一下,如果大家有需要安卓这边的代码,本人也可以分享给大家!QQ群:74432915  欢迎大家一起探讨 首先本demo采用网上开源框架 AFNetworking  源码:http://download.csdn.net/detail/wangliang198901/7809439 将整个框架导入IOS新建立的工程中 在FKAppDelegate.h声明 如下: #import <UIKit

Django学习之文件上传

Django学习之文件上传 就这么六步! 一.settings配置文件中配置 MEDIA_URL = '/media/' MEDIA_ROOT = os.path.join(BASE_DIR, 'medias').replace('\\', '/')#media即为图片上传的根路径 二.url路由中配置 urlpatterns = [ url(r'^admin/', admin.site.urls), url(r'^index/', views.index,name='index'), ] +

04springMVC结构,mvc模式,spring-mvc流程,spring-mvc的第一个例子,三种handlerMapping,几种控制器,springmvc基于注解的开发,文件上传,拦截器,s

 1. Spring-mvc介绍 1.1市面上流行的框架 Struts2(比较多) Springmvc(比较多而且属于上升的趋势) Struts1(即将被淘汰) 其他 1.2  spring-mvc结构 DispatcherServlet:中央控制器,把请求给转发到具体的控制类 Controller:具体处理请求的控制器(配置文件方式需要配置,注解方式不用配置) handlerMapping:映射处理器,负责映射中央处理器转发给controller时的映射策略 ModelAndView:服务

django中处理文件上传文件

1 template模版文件uploadfile.html 特别注意的是,只有当request方法是POST,且发送request的<form>有属性enctype="multipart/form-data"时,request.FILES中包含文件数据,否则request.FILES为空. <form method="post" action="" enctype="multipart/form-data"

Django中的文件上传+Ajax详细应用

[001]基于Ajax上传文件 原则:如果我们使用Ajax操作在涉及到文件上传时,那就要使用FormData 1.首先要明白:上传文件使用input输入框的类型是file: 2.后台我需要拿到前端传递过来的文件对象,注意文件对象并不在request.post里面,而是在request.files里面: # 获取文件对象file_obj,如果想获取文件的名字,使用file_obj.name即可 file_obj = request.FILES.get("cFile") 3.content

django+python大文件上传

大文件上传服务一.前端[webuploader](http://fex.baidu.com/webuploader/ ''webuploader'')二.后端django 2.0.0这里只贴出核心的代码:前端的: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <!--引

Django之AJAX文件上传

文件上传: ·         一般文件上传都是采用post请求方式,get请求携带的数据有限,有post请求的数据放在请求体中,大小不受约束,但是在django的post请求中要注意csrf(防跨站伪造请求)认证机制; ·         文件上传使用的是multipart/form-data数据格式传输,在使用from表单时需要指定属性enctype="multipart/form-data":在使用ajax时要设置参数:processData: false,contentType

Java Web开发之文件上传

文件上传有SmartUpload.Apache的Commons fileupload.我们今天介绍Commons fileupload的用法. 1.commons-io.jar 和commons-fileupload-1.3.1.jar 下载地址:http://pan.baidu.com/s/1kVtYMzH 2.web.xml 1 <!-- 上传文件 服务器端 --> 2 <servlet> 3 <servlet-name>UploadServlet</serv