参考:http://www.cnblogs.com/dudu/archive/2012/11/27/fine_uploader_mvc_ajax.html asp.net mvc示例
http://fineuploader.com/fine-uploader-demo.html 官网示例
需要注意的地方:webconfig里的上传文件大小限制
一:
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0" />
<httpRuntime maxRequestLength = "999999999" useFullyQualifiedRedirectUrl="true"/>
</system.web>
</configuration>
二:
指定的文件路径要存在
HTML部分代码:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>Fine Uploader Demo</title>
<link href="js/fineuploader.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="manual-fine-uploader">
</div>
<button id="triggerUpload" style="margin-top: 10px;">
Upload now
</button>
<script src="js/fineuploader-3.0.js" type="text/javascript"></script>
<script type="text/javascript">
window.onload = function () {
var manualuploader = new qq.FineUploader({
element: document.getElementById("manual-fine-uploader"),
request: {
endpoint: 'Handler1.ashx'
},
autoUpload: false,
//multiple: false,
validation: {
allowedExtensions: ['jpeg', 'jpg', 'txt'],
sizeLimit: 9999999 //bytes
},
text: {
uploadButton: '<i class="icon-plus icon-white"></i> Select Files'
},
debug: true
});
document.getElementById('triggerUpload').onclick = function () {
manualuploader.uploadStoredFiles();
};
}
</script>
</body>
</html>
ashx里的代码:
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;
}
}
}
}