`
xaajie
  • 浏览: 73242 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

flex on django上传文件

阅读更多

flex结合django上传图片,之前在网上只找到一篇文章http://blog.douhua.im/2009/06/14/flex-django-upload/

自己在此基础上进行,最终实现其功能,当成功之后,前台得到返回的上传图片名称。

flex端的mxml文件

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" 
				creationPolicy="auto"
				layout="absolute" creationComplete="init()">
	<mx:Script>
		<![CDATA[
			import com.adobe.cairngorm.model.ModelLocator;
			import mx.events.CloseEvent;
			import mx.controls.Alert;
			import mx.managers.CursorManager;
			
			private var file:FileReference = new FileReference();			
			private var _upload:URLRequest;

			[Bindable]
			private var percent : int = 0;
			public function init():void
			{
				file.addEventListener(Event.SELECT, selectHandler);
				file.addEventListener(ProgressEvent.PROGRESS, progressHandler);
				file.addEventListener(DataEvent.UPLOAD_COMPLETE_DATA, uploadCompleteDataHandler);
				file.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler);
				browseBtn.addEventListener(MouseEvent.CLICK, browseHandler);
			}
			
			public function browseHandler(event:MouseEvent): void
			{
				file.browse();
			}
			
			public function reset(): void
			{
				fileTxt.text="";
				processBar.setProgress(0, 100);
				processBar.visible=false;
				processBar.label="Uploading " + 0 + "%";
			}
			
			public function selectHandler(event:Event): void
			{
				fileTxt.text=file.name;

			}
			private function ioErrorHandler(event:Event):void{
				Alert.show("fail");
			}
			public function uploadCompleteDataHandler(event:DataEvent): void{
				tt.text=event.data;
				Alert.show("success");
			}
			
			public function progressHandler(event:ProgressEvent): void
			{
				var size:int = file.size; 				
				percent = event.bytesLoaded/event.bytesTotal * 100;				
				processBar.setProgress(percent, 100);
				processBar.label="Uploading " + percent + "%";
				
				if (event.bytesLoaded == event.bytesTotal)
				{
					processBar.label="Upload file successfully!";
				}
			}

			public function upload(): void
			{
				if(fileTxt.text == "")
				{
					Alert.show("Please select upload file");
					return;
				}
				_upload = new URLRequest('http://localhost:8000/upload/');
				_upload.method = URLRequestMethod.POST;
				_upload.contentType = "multipart/form-data";
				processBar.visible=true;
				file.upload(_upload,'file',true);						
			}
			
		]]>
	</mx:Script>
 
	<mx:Panel width="428" height="256" layout="absolute" title="File Upload" fontSize="12" y="58" x="59">		
		<mx:Label x="49" y="32" text="File:"/>
		<mx:TextInput x="88" y="30" id="fileTxt" width="226" editable="false"/>
		<mx:Button id="browseBtn" x="316.5" y="30" label="打开"/>
		<mx:Button id="uploadBtn" x="88" y="92" label="上传" click="upload()"/>
		<mx:Button id="cancelBtn" x="183" y="92" label="Cancel" visible="false"/>		
		<mx:ProgressBar id="processBar" labelPlacement="bottom" themeColor="#EE1122" minimum="0" 
			visible="false" maximum="100" color="0x323232"    label="Loading 0%" 
			direction="right" mode="manual" width="358.5" y="144" x="21.5"/>
		<mx:Label x="49" y="150" text="Label" id="tt"/>		
	</mx:Panel>
</mx:Application>

 django端的处理文件

from django import forms
from django.http import HttpResponse


def upload(request):
    UPLOAD_PATH = 'flex/assets/pic/'
    if request.method == 'POST':
        img = request.FILES['file']
        destination = open(UPLOAD_PATH + img.name, 'wb+')
        for chunk in img.chunks(): 
            destination.write(chunk)
        destination.close()
        return HttpResponse(img.name)

 别忘了配置setting.py,urls.py

over

如果有需要,再整理上传源码文件。

2
0
分享到:
评论
1 楼 zhong_pro 2012-02-06  
LZ,请问django是什么,没听说过。

相关推荐

    基于Python+Django简单实现文件上传下载功能源码.zip

    基于Python+Django简单实现文件上传下载功能源码 基于Python+Django简单实现文件上传下载功能源码 基于Python+Django简单实现文件上传下载功能源码 基于Python+Django简单实现文件上传下载功能源码 基于...

    通过Django的form及Ajax等多种方式上传文件

    通过Django的Form方式上传文件,简单,但无法局部刷新实现ajax效果; 通过js或jQuery方式,需要使用FormData对象,仍有些浏览器不兼容; 通过Form+iframe方式上传文件,兼容性最好。 里面含有全部源代码。

    django实现文件上传并显示的简单例子

    现在,你可以访问`http://127.0.0.1:8000/upload/`来上传文件,访问`http://127.0.0.1:8000/list/`来查看已上传的文件。 以上就是使用Django实现文件上传并显示的完整过程。这个例子展示了Django模型、表单、视图...

    Django上传文件项目.zip

    Django上传文件并自动加载静态资源

    django 上传文件

    在 Django 框架中,上传文件是一项常见的需求,它涉及到用户通过网页上传图片、文档等各类文件。在这个实例中,我们将深入探讨如何在 Django 1.5 版本中实现一个简单的文件上传功能,特别是图片上传。 首先,我们...

    Django 教程中的多个文件上传

    在本教程中,您可以学习 迭代请求文件 和 上传多个文件 一次使用 Django 在 Python 中。本教程旨在为学生和初学者提供学习开发动态网站的参考 姜戈.在这里,我将提供一些步骤来创建一个简单的 Web 应用程序,该应用...

    django实现MODELFORM多文件上传范例

    files = models.FileField(upload_to='uploads/', blank=True, null=True, verbose_name='上传文件', multiple=True) ``` 这里我们定义了一个`FileUpload`模型,有一个CharField字段`title`用于存储文件的标题,...

    Django文件上传

    上传文件 ``` 最后,更新`urls.py`文件,添加路由以关联视图: ```python from django.urls import path from . import views urlpatterns = [ path('upload/', views.upload_file, name='upload'), ] ``` ...

    Django2 文件上传及下载功能(支持中文名文件)python3.7

    确保`MEDIA_ROOT`指定了一个用于存储用户上传文件的目录,并设置`MEDIA_URL`为访问这些文件的URL前缀: ```python MEDIA_ROOT = os.path.join(BASE_DIR, 'media') MEDIA_URL = '/media/' ``` 接下来,创建一个...

    Django Form表单上传文件.zip

    此外,你还需要确保文件存储策略安全,避免敏感信息泄露,限制上传文件类型和大小,以防止恶意文件上传。 总结起来,Django Forms提供了方便的方式来处理文件上传,包括定义表单、处理视图、创建模板以及配置URL...

    django 连接数据库、上传文件

    `upload_to`参数指定了上传文件的存储位置。 2. **表单处理**:创建一个Django表单,包含这些字段,以便在视图中处理用户上传的文件。使用`ModelForm`可以简化这个过程: ```python from django import forms ...

    django layui表单加图片上传功能(Django,layui).zip

    在本文中,我们将深入探讨如何在Django框架中结合Layui实现图片上传功能。Layui是一款优秀的前端UI框架,而Django是Python后端开发的流行框架,两者结合可以构建出美观且功能强大的Web应用。以下是实现这一功能的...

    django 2.2 whl文件

    标题提到的“django 2.2 whl文件”就是Django 2.2版本的WHL安装包,它包含了该版本的所有核心模块和功能。使用这种格式的安装文件,开发者可以直接通过Python的包管理工具pip进行安装,而无需手动编译源代码。 描述...

    django+ajaxfileupload文件上传demo

    上传文件 &lt;div id="response"&gt;&lt;/div&gt; $(document).ready(function () { $("#upload-form").ajaxForm({ dataType: 'json', success: function (response) { if (response.success) { $('#response')....

    Django框架文件上传与自定义图片上传路径、上传文件名操作分析

    本文实例讲述了Django框架文件上传与自定义图片上传路径、上传文件名操作。分享给大家供大家参考,具体如下: 文件上传 1、创建上传文件夹 在static文件夹下创建uploads用于存储接收上传的文件 在settings中配置, ...

    django将图片上传数据库后在前端显式的方法

    在Web开发中,尤其是使用Django框架时,将图片上传到服务器并通过数据库进行管理是常见的需求。本文将详细讲解如何使用Django框架实现图片的上传、存储到数据库以及在前端页面的展示。涉及的知识点包括Django模型...

    Django实现任意文件上传(最简单的方法)

    - **myFile.name**:提供上传文件的原始名称,包括扩展名,例如`123.exe`。 - **myFile.size**:返回文件大小(字节)。 理解以上知识点后,你可以轻松地在Django项目中实现文件上传功能,同时保持代码简洁和高效。...

    09_Django静态文件和文件上传.pdf

    以上内容为Django框架下静态文件和媒体文件的使用方法,以及如何通过Django进行文件上传的详细过程。在实际开发过程中,正确配置和使用静态文件、媒体文件以及文件上传功能对于保证Web应用的功能性和用户友好性是...

    Django实现文件上传下载

    本文实例为大家分享了Django实现文件上传下载的具体代码,供大家参考,具体内容如下 一、django实现文件下载 (1)、后台接口 如果从服务器直接将文件路径传给浏览器,普通文件可以直接下载,而图片,html,css和pdf格式等...

    django框架实现一次性上传多个文件功能示例【批量上传】

    特别是在需要用户批量上传文件的情况下,如何有效地实现这一功能显得尤为重要。Django作为一款流行的Python Web框架,提供了强大的文件处理能力。本文将详细介绍如何在Django框架中实现一次性上传多个文件的功能,并...

Global site tag (gtag.js) - Google Analytics