插件地址:http://blog.csdn.net/never_say_goodbye/article/details/8598521

先上个效果图:

相比来说,效果还是很不错的

使用MVC3做服务器端的处理时遇到的一大问题是HttpPostedFileBase为null,request.file也为null,这是上面的博客中没有提到的(PHP),一番潜心研究中,发现了Request.InputStream中有数据,于是乎:

[HttpPost]
public JsonResult FileUpload()
{
Stream RequestStream =HttpContext.Request.InputStream;//把文件的数据读取到st流中
if (RequestStream == null)
{
return Json(new { msg=,msgbox="上传的文件为空"});//"上传的文件为空";
} string file_name = HttpContext.Request.Headers["X_FILENAME"].ToString();
if(string.IsNullOrWhiteSpace(file_name))
{
return Json(new { msg = , msgbox = "文件名为空" });//"文件名为空";
}
int last_Index = file_name.LastIndexOf(".");
string fileExt = file_name.Substring(last_Index+,file_name.Length -last_Index -); //得到文件的拓展名,不包含“.”
string saveFloder = Server.MapPath("/uploads/"); //保存的文件路径
if (!Directory.Exists(saveFloder)) //如果该文件夹不存在, 则创建
{
Directory.CreateDirectory(saveFloder);
}
string save_name = Guid.NewGuid().ToString()+"."+fileExt; //保存的文件名
////创建一个文件流来把上传的文件写入到服务器上
FileStream fs = new FileStream(saveFloder + save_name, FileMode.Create, FileAccess.Write, FileShare.Read);
byte[] buffer = new byte[];//缓冲区
int readLen;//每次真正读取到的字节数
while ((readLen = RequestStream.Read(buffer, , )) > )
{
//读到数据了(此时独到的数据在buffer缓冲区中)
//开始把文件写入到服务器的磁盘中
fs.Write(buffer, , readLen);
} fs.Flush();//请空缓冲区,使得所有缓冲区的数据都写入到文件中
RequestStream.Flush();
fs.Close();//关闭流,释放资源
RequestStream.Close();
return Json(new { msg = , msgbox = "/uploads/" + save_name });
}

目前没有测试过大文件上传的情况及其性能

jquery.html5uploader.js 上传控件的更多相关文章

  1. js上传控件 plupload 使用记录

    最近一个项目需要使用一个上传控件进行多图片上传,给用户更好的体验,找到了plupload,用了一下感觉还是不错的, 1.从官网上  可以获得例子 ,我集成到了jsp,如下: <%@ page l ...

  2. jquery文件批量上传控件Uploadify3.2(java springMVC)

    人比較懒  有用为主 不怎么排版了 先放上Uploadify的官网链接:http://www.uploadify.com/  -->里面能够看到PHP的演示样例,属性说明,以及控件下载地址.分f ...

  3. 纯js上传控件——fineuploader

    fineuploader是一款基于ajax实现文件上传的插件,具有以下有点: A:支持文件上传进度显示. B:文件拖拽浏览器上传方式 C:Ajax页面无刷新. D:多文件上传. F:跨浏览器. E:跨 ...

  4. jquery文件上传控件 Uploadify

    (转自 http://www.cnblogs.com/mofish/archive/2012/11/30/2796698.html) 基于jquery的文件上传控件,支持ajax无刷新上传,多个文件同 ...

  5. jquery文件上传控件 Uploadify 可以和ajax交互

    http://www.cnblogs.com/mofish/archive/2012/11/30/2796698.html  原网址 基于jquery的文件上传控件,支持ajax无刷新上传,多个文件同 ...

  6. jquery文件上传控件 Uploadify(转)

    原文:http://www.cnblogs.com/mofish/archive/2012/11/30/2796698.html 基于jquery的文件上传控件,支持ajax无刷新上传,多个文件同时上 ...

  7. jquery本地上传预览扩展(隐藏上传控件单击图片上传支持ie!!)

    我用到的原材料地址:http://www.cnblogs.com/leejersey/p/3660202.html 修改后: /// <reference path="../../Js ...

  8. 用jQuery File Upload做的上传控件demo,支持同页面多个上传按钮

    需求 有这么一个需求,一个form有多个文件要上传,但又不是传统的图片批量上传那种,是类似下图这种需求,一开始是用的swfupload做的上传,但是问题是如果有多个按钮的话,就要写很多重复的代码,于为 ...

  9. jquery文件上传控件 Uploadify 问题记录

    Uploadify v3.2.1 首先引用下面的文件 <!--上传控件 uploadify--> <script type="text/javascript" s ...

随机推荐

  1. 1django 视图与网址

    创建一个项目,名字叫mysite django-admin startproject mysite(项目名) 成功后,看到如下样式 mysite ├── manage.py └── mysite ├─ ...

  2. ERROR 2003 (HY000): Can't connect to MySQL server on 'ip地址' (110)

    用windows能远程连接数据库服务器,用ubuntu就报错,怎么都连不上,报这个错ERROR 2003 (HY000): Can't connect to MySQL server on 'ip地址 ...

  3. Android SDK上手指南 3:用户交互

    在这篇教程中,我们将对之前所添加的Button元素进行设置以实现对用户点击的检测与响应.为了达成这一目标,我们需要在应用程序的主Activity类中略微涉及Java编程内容.如果大家在Java开发方面 ...

  4. 尽量不要在viewWillDisappear:方法中移除通知

    1.iOS7新增加了导航控制器侧滑手势,当触发侧滑返回时,会调用系统的viewWillDisappear:方法,取消侧滑返回时又会调用viewWillAppear:方法.   2.在做手势和通知等一系 ...

  5. 【leetcode刷题笔记】Edit Distance

    Given two words word1 and word2, find the minimum number of steps required to convert word1 to word2 ...

  6. 暑假集训第一周比赛G题

    http://acm.hust.edu.cn/vjudge/contest/view.action?cid=83146#problem/G G - 向 Crawling in process... C ...

  7. The Quantum L3 router and floating IPs

    This post shows how the Quantum L3 Agent uses the Linux IP stack to implement the Quantum L3 Routing ...

  8. Spring Boot- 用idea新建spring boot web项目

    1.新建project 2.选择Spring Initializr,next 3.输入项目信息,next 4.选择web依赖以及Spring Boot的版本,next 5.Finish 6.Enabl ...

  9. JQUERY Uploadify 3.1 C#使用案例

    近来因为要做一个上传功能,而firefox又不能直接使用file这样的标签,所以试着用js来写了一个,结果发现代码太多,验证太复杂,而且效果也不理想. 相对的,jquery提供的这一套uploadif ...

  10. mysql数据库更新

    在使用mysql数据库的时候,A方使用一个版本,B方在使用一个版本数据库进行开发使用,B方在开发的时候,有新的需求,需要添加表字段和所需要的表.但是A方已经在使用之前的版本数据库并且数据库里面有真实的 ...