项目结构 以及插件需要的文件如图所示

前端代码:

 <!DOCTYPE html>
<html>
<head>
<title>SWFUpload</title>
<link href="~/Content/Scripts/tools/swfupload/css/default.css" rel="stylesheet" />
<script src="~/Content/Scripts/tools/jquery-1.11.3.min.js"></script>
<script src="~/Content/Scripts/tools/json2.js"></script>
<script src="~/Content/Scripts/tools/swfupload/fileprogress.js"></script>
<script src="~/Content/Scripts/tools/swfupload/handlers.js"></script>
<script src="~/Content/Scripts/tools/swfupload/swfupload.js"></script>
<script src="~/Content/Scripts/tools/swfupload/swfupload.queue.js"></script>
<script type="text/javascript">
var swfu;
window.onload = function () {
var settings = {
upload_url: "/UpLoad/UpLoading", // 上传地址
flash_url: "/Content/Scripts/tools/swfupload/swfupload.swf", // 上传图片flash
preserve_relative_urls: false,
file_post_name: "fileName", // 上传文件参数名
file_size_limit: "100 MB", // 文件大小
file_types: "*.jpg;*.png;*.gif;*.bmp;*.doc;*.docx", // 文件格式
file_types_description: "All Files",
file_upload_limit: "5",
file_queue_limit: "0",
custom_settings: {
progressTarget: "fsUploadProgress",
cancelButtonId: "btnCancel"
},
debug: true,
// Button settings
button_image_url: "/Content/Scripts/tools/swfupload/images/TestImageNoText_65x29.png", // Relative to the Flash file
button_width: "65",
button_height: "29",
button_placeholder_id: "spanButtonPlaceHolder",
button_text: '<span class="theFont">浏览</span>',
button_text_style: ".theFont { font-size: 16; }",
button_text_left_padding: 12,
button_text_top_padding: 3, // The event handler functions are defined in handlers.js
file_queued_handler: fileQueued,
file_queue_error_handler: fileQueueError,
file_dialog_complete_handler: fileDialogComplete,
upload_start_handler: uploadStart,
upload_progress_handler: uploadProgress,
upload_error_handler: uploadError,
upload_success_handler: uploadSuccess,
upload_complete_handler: uploadComplete,
queue_complete_handler: queueComplete // Queue plugin event
}; swfu = new SWFUpload(settings);
};
</script>
</head>
<body>
<div id="content">
<p>点击“浏览”按钮,选择您要上传的文档文件后,系统将自动上传并在完成后提示您。</p>
<p>请勿上传包含中文文件名的文件!</p>
<div class="fieldset flash" id="fsUploadProgress">
<span class="legend">快速上传</span>
</div>
<div id="divStatus">0 个文件已上传</div>
<div>
<span id="spanButtonPlaceHolder"></span>
<input id="btnCancel" type="button" value="取消所有上传" onclick="swfu.cancelQueue();" disabled="disabled" style="margin-left: 2px; font-size: 8pt; height: 29px;"/>
<input id="btnPase" type="button" value="暂停上传" onclick="swfu.stopQueue();" style="margin-left: 2px; font-size: 8pt; height: 29px;"/>
<input id="btnGoon" type="button" value="继续上传" onclick="swfu.startUpload();" style="margin-left: 2px; font-size: 8pt; height: 29px;"/>
</div>
</div>
</body>
</html>

后端代码:

 using System;
using System.Web;
using System.Web.Mvc; namespace Notify.Controller.SwfupLoad
{
/// <summary>
/// 上传图片控制器
/// </summary>
public class UpLoadController : System.Web.Mvc.Controller
{
/// <summary>
/// 上传图片首页
/// </summary>
/// <returns>视图</returns>
public ActionResult Index()
{
return View();
} /// <summary>
/// 上传图片处理
/// </summary>
/// <param name="fileName">图片流</param>
/// <returns>结果</returns>
public ActionResult UpLoading(HttpPostedFileBase fileName)
{
if (fileName != null)
{
//创建图片新的名称
string nameImg = DateTime.Now.ToString("yyyyMMddHHmmssfff");
//获得上传图片的路径
string strPath = fileName.FileName;
//获得上传图片的类型(后缀名)
string type = strPath.Substring(strPath.LastIndexOf(".", StringComparison.Ordinal) + ).ToLower();
if (ValidateImg(type))
{
//拼写数据库保存的相对路径字符串
//拼写上传图片的路径
var uppath = Server.MapPath("~/Content/Images/UpImgs/");
uppath += nameImg + "." + type;
//上传图片
fileName.SaveAs(uppath);
}
}
return Content("OK");
} /// <summary>
/// 验证上传图片类型
/// </summary>
/// <param name="imgName">图片</param>
/// <returns>结果</returns>
public bool ValidateImg(string imgName)
{
string[] imgType = { "gif", "jpg", "png", "bmp" }; int i = ;
bool blean = false; //判断是否为Image类型文件
while (i < imgType.Length)
{
if (imgName.Equals(imgType[i]))
{
blean = true;
break;
}
if (i == (imgType.Length - ))
{
break;
}
i++;
}
return blean;
}
}
}

使用svn下载

项目地址:http://code.taobao.org/svn/Notify/

swfupload上传图片的更多相关文章

  1. swfUpload 上传图片

    前端: <script src="~/Scripts/swfupload/swfupload.js"></script> <script src=&q ...

  2. 用SWFUpload上传图片小例子

    在开发项目中,经常会用到上传图片,接下来我就用一种简单的方式给大家分享一下使用SWFUpload的方式上传图片. 1.在网站根目录下新建一个SWFUpload文件夹,把下载的组建放在SWFUpload ...

  3. SWFUpload多图上传、C#后端跨域传文件带参数

    前几天工作中用到了SWFUpload上传图片,涉及到跨域,因为前端无法实现跨域,所以只能把文件传到后端进行跨域请求,整理分享下. 效果图 前端 html部分 <!DOCTYPE html> ...

  4. PHP之:多图上传

    撰写日期:2016-6-30 15:17:35 Thursday 参考 http://a3147972.blog.51cto.com/2366547/1381136 (08-05ThinkPHP+sw ...

  5. [Asp.net]Uploadify所有配置说明,常见bug问题分析

    引言 之前写过一篇使用swfupload上传图片的文章:周末大放送网站图片上传,水印,预览,截图,这里分析一下,当时使用uploadify上传,无法获取上传后,图片路径的问题.当时没有测试没有成功,一 ...

  6. Uploadify所有配置说明,常见bug问题分析

    引言 之前写过一篇使用swfupload上传图片的文章:周末大放送网站图片上传,水印,预览,截图,这里分析一下,当时使用uploadify上传,无法获取上传后,图片路径的问题.当时没有测试没有成功,一 ...

  7. 使用SWFUpload无刷新上传图片

    使用SWFUpload组件无刷新上传图片 在做项目时,需要用到一个图片的无刷新上传,之前听说过SWFUpload,于是想要通过SWFUpload来进行图片的无刷新上传,由于我的项目属于是ASP.NET ...

  8. swfupload在chrome中点击上传图片按钮无反应的解决办法

    chrome 22.0.XXXXX dev版上传图片按钮点击无反应原因:是GOOGLE的内建Flash PPAPI外挂所导致的. 问题原因: 由于Google浏览器(Chrome),在最新测试版22. ...

  9. ckeditor添加自定义按钮整合swfupload实现批量上传图片

    ckeditor添加自定义按钮整合swfupload实现批量上传图片给ckeditor添加自定义按钮,由于ckeditor只能上传一张图片,如果要上传多张图片就要结合ckfinder,而ckfinde ...

随机推荐

  1. zabbix agent配置详解(windows)

    客户端操作  标注:监控zabbix_agentd客户端安装对象是win server 2008操作系统 64位. 1.  下载zabbix_agentd监控客户端软件安装包(windows操作系统客 ...

  2. @Configuration与@Bean作用

    Spring的Java配置方式是通过@Configuration和@Bean这两个注解来实现 @Configuration可以作用在任意类上,表示该类是一个配置类,其实就相当于一个xml配置文件. @ ...

  3. 单例设计模式 --c#

    单例设计模式:在单例设计模式中我们要保持对象始终是唯一的 参考代码: class SingleObject { private SingleObject() { } private static Si ...

  4. python的类和对象

    一.面向对象和面向过程 1.1面向过程的特点 优点是:极大的降低了写程序的复杂度,只需要顺着要执行的步骤,堆叠代码即可. 缺点是:一套流水线或者流程就是用来解决一个问题,代码牵一发而动全身. 1.2面 ...

  5. NOI2018 网络同步赛的启示

    D1D2一共6题,暴露出我的许多问题 D1 T1 100 T2 8 T3 0 D2 T1 90? T2 15? T3 0 D1T1:决不能在noip之后便不再写dijkstra 不再写kruskal和 ...

  6. 框架frame

    使用框架切分网页 效果: 代码: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"& ...

  7. ERROR 1526 (HY000): Table has no partition for value xxx

    最近,我们有些功能需要使用到基于多个字段的分区,需要同时支持oracle/mysql,但是开发人员又希望尽可能少的改动业务代码,也不愿意使用多列分区,在oracle 11g之前,不支持多列分区(12. ...

  8. 20145212罗天晨 WEB基础实践

    实验问题回答 1.什么是表单 表单在网页中主要负责数据采集功能 一个表单有三个基本组成部分: 表单标签 表单域:包含了文本框.密码框.隐藏域.多行文本框.复选框.单选框.下拉选择框和文件上传框等 表单 ...

  9. ListView与ArrayAdapter(二)

    ArrayAdapter: 数组适配器,用于简单的文字列表 activity_main.xml <RelativeLayout xmlns:android="http://schema ...

  10. django基础 -- 2. django初识

    一.模块渲染  jinja2 实现简单的字符串替换(动态页面) 1.下载 pip install jinja2 示例 : html文件中 <!DOCTYPE html> <html ...