`
maiguang
  • 浏览: 262440 次
  • 性别: Icon_minigender_1
  • 来自: 焦作
社区版块
存档分类
最新评论

上传表单(Upload Forms)

阅读更多

ExtJs的文件上传功能官方的例子中并没有,但做网站的都知道,这个功能在十个系统中九个可能都需要这样的功能。废话少说,下面一起来分享一下ExtJs上传文件功能。

效果图1(上传前):

效果图2(上传后):

该程序包括三个文件,一个文件件。如下图

源代码:
upload.html

以下为引用的内容:
<html>
<head>
    <title>Uploading</title>
    <link rel="stylesheet" type="text/css" href="../../resources/css/ext-all.css"/>

    <!-- GC -->
    <!-- LIBS -->
    <script type="text/javascript" src="../../adapter/ext/ext-base.js"></script>
    <!-- ENDLIBS -->

    <script type="text/javascript" src="../../ext-all.js"></script>

    <script type="text/javascript" src="upload.js"></script>
    <link rel="stylesheet" type="text/css" href="forms.css"/>

    <!-- Common Styles for the examples -->
    <link rel="stylesheet" type="text/css" href="../examples.css"/>
</head>
<body>
<script type="text/javascript" src="../examples.js"></script>
<!-- EXAMPLES -->
<h1>Upload with Forms</h1>

<p>The js is not minified so it is readable. See 
<a href="upload.js">upload.js</a>.</p>
<p> </p>
<p><a href="javascript:window.location.reload();">reload</a></p>
</body>
</html>


Upload.js

以下为引用的内容:
Ext.QuickTips.init();
Ext.form.Field.prototype.msgTarget = 'side'; 
Ext.onReady(function() {
  var form = new Ext.form.FormPanel({
    baseCls: 'x-plain',
    labelWidth: 80,
    url:'upload.php',
    fileUpload:true,
    defaultType: 'textfield',

    items: [{
      xtype: 'textfield',
      fieldLabel: 'File Name',
      name: 'userfile',
      inputType: 'file',
      allowBlank: false,
      blankText: 'File can\'t not empty.',
      anchor: '90%'  // anchor width by percentage
    }]
  });

  var win = new Ext.Window({
    title: 'Upload file',
    width: 400,
    height:200,
    minWidth: 300,
    minHeight: 100,
    layout: 'fit',
    plain:true,
    bodyStyle:'padding:5px;',
    buttonAlign:'center',
    items: form,

    buttons: [{
      text: 'Upload',
      handler: function() {
        if(form.form.isValid()){
          Ext.MessageBox.show({
               title: 'Please wait',
               msg: 'Uploading...',
               progressText: '',
               width:300,
               progress:true,
               closable:false,
               animEl: 'loding'
             });
          form.getForm().submit({    
            success: function(form, action){
               Ext.Msg.alert('Message from extjs.org.cn',action.result.msg);
               win.hide();  
            },    
             failure: function(){    
              Ext.Msg.alert('Error', 'File upload failure.');    
             }
          })           
        }
       }
    },{
      text: 'Close',
      handler:function(){win.hide();}
    }]
  });
  win.show();
});


upload.php

以下为引用的内容:
<?php
//上传文件全称
$uploadfile = "upload_files/".basename($_FILES['userfile']['name']);

$message = "";
if (@move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
    $message = "File was successfully uploaded.";
}
else
{
    $message = "Possible file upload attack!";
}

print "{success:true,msg:'".$message."'}";
?>

还需要在当前目录创建一个文件夹upload_files,并将该文件夹设置为777(everyone 可读写).

演示地址:http://extjs.org.cn/extjs/examples/form/upload.html


LovelyLife 编辑 <script> editor.innerText = szEditor;</script>
分享到:
评论

相关推荐

    ASP无组件上传类

    2、request.form()方法获取数据失效,请使用UpLoad.forms() 3、上传前请确认保存文件的文件夹有读写权限,若不可写则会出现"文件无法写入"错误,解决方法 http://dev.mo.cn/show.asp?id=81 二、调用方法 1、无组件类...

    艾恩ASP_文件上传组件anupload

    ### 艾恩ASP_文件上传组件anupload #### 组件概述 艾恩ASP无组件上传组件(anupload)是一款专门为ASP环境设计的文件上传工具。该组件虽然自称为“无组件”,但实际上提供了丰富的功能与灵活性,使得在ASP环境下...

    Forms generation验证表单类

    9. `test_upload.php` - 用于测试文件上传功能的PHP脚本,与表单中的上传文件框相关。 10. `templates` - 这可能是一个目录,包含了用于构建表单和页面的模板文件。 综合以上信息,这个压缩包提供了一个完整的解决...

    WindowsForms 上传实例

    总的来说,这个Windows Forms上传实例展示了如何在C#中处理文件选择和上传,并通过HTTP请求与Java后端服务进行通信。同时,它也涉及到了应用程序的分层架构,其中业务逻辑层和数据模型是关键组成部分。理解这些概念...

    Django Form表单上传文件.zip

    在Django框架中,表单(Form)是...总结起来,Django Forms提供了方便的方式来处理文件上传,包括定义表单、处理视图、创建模板以及配置URL路由。通过正确使用这些组件,你可以构建一个安全且功能完善的文件上传系统。

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

    在HTML模板文件(如`upload_image.html`)中,使用Layui的组件创建上传表单。Layui的`upload`模块可以帮助我们实现图片预览和上传功能。记得在表单中加入CSRF令牌以保护你的站点。 ```html {% extends 'base....

    C# 上传器 upload C# 文件上传功能实现

    当上传文件时,通常需要将文件内容作为表单数据的一部分。在MIME类型中,这是通过使用`multipart/form-data`编码实现的。每个文件部分包含文件名、类型和数据,用分隔符区分。 3. **文件流操作**: 在C#中,文件...

    ASP.NET MVC 4 图片上传UploadDemo

    ASP.NET MVC 4 是微软开发的一个用于构建动态网站的框架,它基于模型-视图-控制器(MVC)设计模式,提供了更灵活的开发方式,相比传统的ASP.NET Web Forms更加面向现代Web应用的需求。在ASP.NET MVC 4中实现图片上传...

    C#_Winform表单上传文件.rar

    在本文中,我们将深入探讨如何使用C# ...以上就是关于“C# Winform表单上传文件”的详细讲解,希望对你理解和实现文件上传功能有所帮助。记得在实际开发中考虑错误处理和用户体验,以创建更健壮和用户友好的应用。

    flask-forms:基本表单,WTForms和文件上传的演示

    **Flask Forms: 基本表单及WTForms与文件上传** Flask是一个轻量级的Python Web框架,它提供了构建Web应用所需的基本功能,包括处理用户表单。在Flask应用中,我们通常使用WTForms库来帮助创建、验证和处理表单数据...

    8种jquery表单特效.zip

    8. **拖放上传(Drag and Drop Upload)**:jQuery支持拖放功能,可以让用户直接从桌面拖动文件到表单中进行上传,提供了更直观的文件上传方式。 这些特效都是通过jQuery库以及可能的jQuery插件实现的,它们提升了...

    ASP.NET-file-upload.rar_.net 上传

    在这个"ASP.NET-file-upload.rar"压缩包中,我们关注的核心知识点是ASP.NET中的文件上传功能,这是一个常见的需求,尤其在需要用户提交图片、文档或其他类型文件的Web应用中。 文件上传功能在ASP.NET中通常通过...

    无组件上传类文档1

    在实际使用中,通过调用`Upload.Forms()`和`Upload.Files()`方法,可以获取表单数据和文件对象,便于进一步处理。需要注意的是,HTML表单需设置`enctype="multipart/form-data"`和`method="post"`属性,否则上传将...

    艾恩ASP无组件上传类(An-Upload) v11.03.25.rar

    数据库(上传和保存表单可同时进行)、限制上传扩展名、限制上传大小、选择文件保存类型(原文件名和时间随机命名)等! 本类可以完整保存用户信息,包括同名称表单(和request.form一样以,为分割符进行保存),以及文件域的...

    django实现MODELFORM多文件上传范例

    最后,创建一个HTML模板(如`upload_files.html`)来展示表单并处理文件上传: ```html &lt;!DOCTYPE html&gt; 上传文件 上传文件 {% csrf_token %} {{ form.as_p }} 上传"&gt; ``` 此模板使用了Django的...

    struts1.2下实现文件上传进度条

    - 在`resources/js/upload.js`文件中添加代码,禁用表单提交按钮,防止用户重复提交。 ```javascript function disableSubmit() { var allInputs = document.forms[0].getElementsByTagName('input'); for (var...

    django 上传文件

    现在,我们需要创建一个表单(Form)来处理文件上传。在 `uploadapp/forms.py` 文件中: ```python from django import forms class UploadFileForm(forms.Form): file = forms.FileField() ``` 接下来,我们要...

    fng-jq-upload:用于表单角度的jQuery文件上传插件,用于在Mongo中存储数据。 受到Dominic Bottger的BlueImp jquery-file-upload分支的影响

    jQuery文件上传插件,用于表单角度,将数据存储在Mongo中。 BlueImp jquery-file-upload的包装器在很大程度上影响了该项目的Dominic Bottger的分支。 用法 npm install fng-jq-upload 要在您的node_modules的顶层...

    django 连接数据库、上传文件

    3. **视图处理**:在视图中接收并处理表单数据,确保处理文件上传时使用POST请求,并验证表单数据: ```python from django.shortcuts import render, redirect from .forms import MyForm def upload_view...

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

    创建一个自定义表单以处理文件上传。在`uploadapp/forms.py`中: ```python from django import forms from .models import FileUpload class UploadFileForm(forms.ModelForm): class Meta: model = ...

Global site tag (gtag.js) - Google Analytics