理清fineuploader无刷新上传的一些事

1.fineuploader是一款不依赖与jquery的异步无刷新上传组件,fineuploader采用ajax方式实现对文件上传,返回值都是以json的格式,对后台服务器操作和前端dom对象一些操作代码集中在javascript脚本中,这样集成使fineuploader使用非常简单,使用的时候只需要添加(fineuploader-3.5.0.css)与(jquery.fineuploader-3.9.1.js)即可实现上传。

2.fineuploader也有自身的一些特点:1.支持文件上传进度显示,2.文件拖拽浏览器上传方式、3.Ajax页面无刷新、4.多文件同时上传、5.跨浏览器、6.夸后台服务器端语言

3.供上实例demo来讲解fineuploader

$(function () {
        //定义容器
        var container = $("#uploadContainer");
        var uploader = $(‘.uploadContainer-button‘, container).fineUploader({
            request: {
                endpoint: url,
                accessKey: "AKIAJB6BSMFWTAXC5M2Q"
            },
            //是否选中后自动上传
            autoUpload: false,
   //验证操作包含文件格式、大小
            validation: {
       //控制上传文件的后缀格式数组
                allowedExtensions: [‘jpeg‘, ‘jpg‘, ‘png‘, ‘xls‘, ‘xlsx‘, ‘pdf‘, ‘txt‘, ‘doc‘, ‘docx‘, ‘rar‘, ‘zip‘],
    //控制上传文件大小
                sizeLimit: 100 * (1024 * 1024) // 200 kB = 200 * 1024 bytes
            },
   //是否支持多文件同时上传
            multiple: true,
   //上传按钮文本
            text: {
                uploadButton: ‘上传‘
            },
   //上传按钮模板
   template:‘‘
   //responseJSON 用来在上传操作完成后返回的json格式的数据
   //fileName 上传文件的文件名
   //Id 表示第几个开始上传的文件 默认从0开始计数
        }).on(‘complete‘, function (event, id, fileName, responseJson) {
            alert(responseJson.success);
            }
        });
    });

后端接收代码:.Net实现

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.IO;
using System.Web.Script.Serialization;

namespace WebApplication2
{
    /// <summary>
    /// Handler1 的摘要说明
    /// </summary>

    public class Msg
    {
        public bool success { get; set; }
    }
    public class Handler1 : IHttpHandler
    {

        public void ProcessRequest(HttpContext context)
        {

            context.Response.ContentType = "text/plain";
            string fileName = context.Request["qqfile"];

            using (var inputStream = context.Request.InputStream)
            {
                using (var flieStream = new FileStream(@"c:\temp\" + fileName, FileMode.Create))
                {
                    inputStream.CopyTo(flieStream);
                }
            }

            context.Response.Write(new JavaScriptSerializer().Serialize(new Msg() { success=true}));
        }

        public bool IsReusable
        {
            get
            {
                return false;
            }
        }
    }
}

Web.Config配置:

<configuration>
  <system.web>
    <compilation debug="true" targetFramework="4.0" />
    <httpRuntime maxRequestLength = "999999999" useFullyQualifiedRedirectUrl="true"/>
  </system.web>
</configuration>

fineUploader:

manualuploader = new qq.FineUploader({
    element: document.getElementById("manual-fine-uploader"),
    request: {
        endpoint: ‘server/success.html‘
    },
    template: "qq-template-manual-noedit",
    autoUpload: false,
    debug: true,
    demoMode: true // Undocumented -> Only for the gh-pages demo website
});

qq(document.getElementById("triggerUpload")).attach("click", function() {
    manualuploader.uploadStoredFiles();
});

时间: 2024-10-13 02:09:31

理清fineuploader无刷新上传的一些事的相关文章

移动端图片上传解决方案localResizeIMG先压缩后ajax无刷新上传

现在科技太发达,移动设备像素越来越高,随便一张照片2M+,但是要做移动端图片上传和pc上略有不同,移动端你不能去限制图片大小,让用户先处理图片再上传,这样不现实.所以理解的解决方案就是在上传先进行图片压缩,然后再把压缩后的图片上传到服务器. 一翻google之后,发现了localResizeIMG,它会对图片进行压缩成你指定宽度及质量度并转换成base64图片格式,那么我们就可以把这个base64通过ajax传到后台,再进行保存,先压缩后上传的目的就达到了. 处理过程 LocalResizeIM

jQuery AJAX 网页无刷新上传示例

新年礼,提供简单.易套用的 jQuery AJAX 上传示例及代码下载.后台对文件的上传及检查,以 C#/.NET Handler 处理 (可视需要改写成 Java 或 PHP). 有时做一个网站项目 (不论是否 ASP.NET),内附的 FileUpload 控件,功能不足 (页面必须刷新.不支援 AJAX),或外观太丑被用户嫌弃 (却无法透过 CSS 自定义外观).网路上虽已有许多可用的示例,如: jQuery File Upload,但功能太强大.外观复杂,欲仅取出部分功能来引用,反而不易

jQuery无刷新上传学习心得

记得刚离开大学,进入目前这家公司不到一个月时,有一位前辈给我们当时的新人讲了下JS无刷新上传的相关知识. 在此之前,一直都是在使用C#提供的服务器上传控件FileUpload,但是每次使用时,都会刷新一次页面,给人的感觉不是太好.但是那是,并不是太在意这个细节,而且JS知识非常匮乏,所以并没有去找解决的办法. 当时,这位前辈提到的一种方法是: 准备一个主页面(用户界面)和一个上传页(放在主页面隐藏的iframe中,作为真正意义的上传页),当点击主页面的上传按钮时,实际上是调用了上传页的上传控件,

js实现无刷新上传

在新增数据项的时候,用ajax实现无刷新提交,但上传文件的时候,由于数据类型原因,不能将页面的<asp:FileUpload>中以字符串值的方式传到js里调用.我一共找到了两个方法予以解决,实现无刷新上传. 第一种方法:利用js的ADODB.Stream,将文件先转换成流,再通过js上传到服务器,这样有个好处就是可以上传超大文件,并且由于是数据流,可以支持断点续传.方便显示上传进度等人性化功能.唯一的缺点是要客户端浏览器需要设置安全级别,或者安装相关ActiveX控件(这个控件自己做的,加载到

ajaxfileupload.js插件结合一般处理文件实现Ajax无刷新上传

先上几张图更直观展示一下要实现的功能.本功能主要通过Jquery ajaxfileupload.js插件结合ajaxUpFile.ashx一般应用程序处理文件实现Ajax无刷新上传功能,结合NPOI2.0实现数据读取.这个功能在实际工作种经经常使用到,希望能给须要做这方面的人有些帮助. 一.功能页面布局及介绍 1.上传页面布局及input file上传功能 2.上传页面文件正在上传效果 3.上传完毕效果,多文件展示区 二.功能代码实现及资源引用 1.js资源文件引用 html页面js引用.须要引

基于h5的图片无刷新上传(uploadifive)

基于h5的图片无刷新上传(uploadifive) uploadifive简介 了解uploadify之前,首先了解来一下什么是uploadify,uploadfy官网,uploadify和uploadifive是一家的,他们都是基于jquery的插件,都支持多文件异步上传,支持显示上传进度,不同的是uploadify基于swfUpload这一开源无刷新上传插件开发,基于flash,而uploadifive则是基于html5,不依赖于flash. 基于他们的不同点,我们可以根据自己的需求来进行选

iframe实现无刷新上传文件(转)

其实在ajax出现之前,web应用也可以是无刷新的,那时大多通过IFrame来做到这一点.当然Ajax出现之后,人们一窝蜂地投奔Ajax 的阵营了,iFrame 就乏人问津了.但是用iFrame来实现无刷新上传文件确实一个很好的选择. [1].[代码] [HTML]代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 <html>   <body>      <form action="upload.jsp

隐藏iframe无刷新上传文件

首先ajax不能上传文件,这误导了我有段时间,今晚睡不着就照着说明做了个无刷新上传文件 其实原理很简单 <form enctype="multipart/form-data" method="POST" target="upload" action="http://localhost/class.upload.php" > <input type="file" name="upl

验证码和图片上传和多张图片无刷新上传

先来验证码一般处理程序编写 1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Web; 5 6 namespace Blog.UI 7 { 8 using System.Drawing; 9 using Blog.Common; 10 /// <summary> 11 /// Vcode 的摘要说明 12 /// </summary> 13 public c