[Fine Uploader] 用Fine Uploader+ASP.NET MVC实现ajax文件上传[代码示例]

Fine Uploader(http://fineuploader.com/)是一个实现 ajax 上传文件的 Javascript 组件

This project attempts to achieve a user-friendly file-uploading experience over the web. It‘s built as a Javascript plugin for developers looking to incorporate file-uploading into their website.

Fine Uploader 不依赖于 jQuery,也就是说不引用jquery.js,也可以正常使用。同时,它也提供了 jQuery Wrapper,可以方便地与jQuery集成。 
这篇博文中的示例代码用的就是 Fine Uploader jQuery Wrapper。下面看示例代码:

Web前端实现

1. 下载jQuery Plug-in Fine Uploader,下载地址:https://github.com/valums/file-uploader/wiki/Releases 
脚本之家Fine Uploader下载地址 http://www.jb51.net/codes/70040.html
2. html代码:

复制代码代码如下:

<!DOCTYPE html> 
<html> 
<head> 
<meta charset="utf-8" /> 
<title>图片上传 - 博客园</title> 
<link href="/css/fineuploader.css" rel="stylesheet"> 
<script src="http://code.jquery.com/jquery-1.8.3.min.js"></script> 
<script src="/scripts/jquery.fineuploader-3.0.min.js"></script> 
</head> 
<body> 
<div id="jquery-wrapped-fine-uploader"></div> 
<script> 
$(function () { 
$(‘#jquery-wrapped-fine-uploader‘).fineUploader({ 
request: { 
endpoint: ‘/ImageUploader/ProcessUpload‘ 

}); 
}); 
</script> 
</body> 
</html>

代码说明: 
a) <div id="jquery-wrapped-fine-uploader"></div>用于显示上传按钮 
b) endpoint 设定的是上传时服务端处理ajax请求的网址。 
3. 浏览器中的显示效果

服务器 ASP.NET MVC 实现代码 
Fine Uploader 的源代码中用 VB.NET 实现了一个 Controller(UploadController.vb),我们在使用时改为了 C# 代码:

复制代码代码如下:

using System; 
using System.Collections.Generic; 
using System.IO; 
using System.Linq; 
using System.Web; 
using System.Web.Mvc; 
namespace CNBlogs.Upload.Web.Controllers 

public class ImageUploaderController : Controller 

const int ChunkSize = 1024 * 1024; 
public ActionResult Upload() 

return View(); 

public ActionResult ProcessUpload(string qqfile) 

using (var stream = Request.InputStream) 

using (var br = new BinaryReader(stream)) 

WriteStream(br, qqfile); 


return Json(new { success = true }); 

private void WriteStream(BinaryReader br, string fileName) 

byte[] fileContents = new byte[] { }; 
var buffer = new byte[ChunkSize]; 
while (br.BaseStream.Position < br.BaseStream.Length - 1) 

if (br.Read(buffer, 0, ChunkSize) > 0) 

fileContents = fileContents.Concat(buffer).ToArray(); 


using (var fs = new FileStream(@"C:\\temp\\" + DateTime.Now.ToString("yyyyMMddHHmmSS") + 
Path.GetExtension(fileName).ToLower(), FileMode.Create)) 

using (var bw = new BinaryWriter(fs)) 

bw.Write(fileContents); 




}

服务器端实现改进版 

复制代码代码如下:

public ActionResult ProcessUpload(string qqfile) 

using (var inputStream = Request.InputStream) 

using (var flieStream = new FileStream(@"c:\temp\" + qqfile, FileMode.Create)) 

inputStream.CopyTo(flieStream); 


return Json(new { success = true }); 
}

图片上传结果演示

时间: 2024-10-07 02:37:01

[Fine Uploader] 用Fine Uploader+ASP.NET MVC实现ajax文件上传[代码示例]的相关文章

用Fine Uploader+ASP.NET MVC实现ajax文件上传[代码示例]

Fine Uploader(http://fineuploader.com/)是一个实现 ajax 上传文件的 Javascript 组件. This project attempts to achieve a user-friendly file-uploading experience over the web. It's built as a Javascript plugin for developers looking to incorporate file-uploading int

ASP.NET MVC下使用文件上传

这里我通过使用uploadify组件来实现异步无刷新多文件上传功能. 1.首先下载组件包uploadify,我这里使用的版本是3.1 2.下载后解压,将组件包拷贝到MVC项目中 3.  根目录下添加新文件夹Uploads,然后新建控制器UploadifyController.cs using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Web; using S

asp.net.mvc 的单文件上传和多文件上传的简单例子

首先打开vs2012,创建空的mvc4项目,名称为MVCStudy,选择基本模板 1)创建项目后,基本结构是这样的 2)建立对应的HomeController,视图index.fileupload.success.error页面 3)控制器源码 using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Web;using System.Web.Mvc;using Sys

ASP.NET 异步Web API + jQuery Ajax 文件上传代码小析

该示例中实际上应用了 jquery ajax(web client) + async web api 双异步. jquery ajax post 1 $.ajax({ 2 type: "POST", 3 url: "/api/FileUpload", 4 contentType: false, 5 processData: false, 6 data: data, 7 success: function (results) { 8 ShowUploadControl

ASP.NET MVC编程入门--Excel上传

参考博客:ASP.NET MVC下使用文件上传 参考博客:NPOI使用手册 参考博客:ASP.Net MVC利用NPOI导入导出Excel 参考博客:C# NPOI 导入与导出Excel文档 兼容xlsx, xls 文件上传代码块 #region EXCEL上传 /// <summary> /// EXCEL上传 /// </summary> /// <param name="fileData"></param> /// <retu

Android与Asp.Net Web服务器的文件上传下载BUG汇总【更新】

遇到的问题: 1.java.io.IOException: open failed: EINVAL (Invalid argument)异常,在模拟器中的sd卡创建文件夹和文件时报错 出错原因可能是:(1)文件名称中含有不符合规范的字符,比如“:”,“?”或者空格等.(2)需要先创建文件夹目录再创建文件,不能直接创建文件. 2. android.os.NetworkOnMainThreadException异常,从服务器请求数据后,写入文件时报错 出错原因:在主线程内执行了访问http的操作,最

Spring MVC环境中文件上传大小和文件类型限制以及超大文件上传bug问题

    在上一篇文章中,主要介绍了Spirng MVC环境下的正常情况下文件上传功能实现.在实际开发的时候,还会涉及到上传文件大小和类型的限制,接下来就会对Spirng MVC环境下文件上传大小和类型的限制进行介绍,还会讲解到文件上传大小tomcat服务器bug问题及解决方案. 一.文件上传大小限制 这里还是接着上篇文章先介绍Spring MVC下的文件上传大小限制,文件上传大小的限制在springmvc-config.xml中配置文件解析器CommonsMultipartResolver时即可

ASP.NET 中对大文件上传的简单处理

ASP.NET 中对大文件上传的简单处理 在 ASP.NET 开发的过程中,文件上传往往使用自带的 FileUpload 控件,可是用过的人都知道,这个控件的局限性十分大,最大的问题就在于上传大文件时让开发者尤为的头疼,而且,上传时无法方便的做到多线程的操控和上传进度的显示.笔者在此给大家推荐一款简单易用的上传组件,从而快速便捷得解决了 ASP.NET 中的大文件上传问题. 首先,我们需要下载这个名为 RanUpLoad 的组件,可以去我的百度云盘下载: http://pan.baidu.com

关于我使用spring mvc框架做文件上传时遇到的问题

非常感谢作者 原文:https://blog.csdn.net/lingirl/article/details/1714806 昨天尝试着用spring mvc框架做文件上传,犯了挺多不该犯的毛病问题1:org.springframework.web.util.NestedServletException: Request processing failed; nested exception is java.lang.ClassCastException: org.apache.catalin