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

前端代码:
<!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上传图片的更多相关文章
- swfUpload 上传图片
前端: <script src="~/Scripts/swfupload/swfupload.js"></script> <script src=&q ...
- 用SWFUpload上传图片小例子
在开发项目中,经常会用到上传图片,接下来我就用一种简单的方式给大家分享一下使用SWFUpload的方式上传图片. 1.在网站根目录下新建一个SWFUpload文件夹,把下载的组建放在SWFUpload ...
- SWFUpload多图上传、C#后端跨域传文件带参数
前几天工作中用到了SWFUpload上传图片,涉及到跨域,因为前端无法实现跨域,所以只能把文件传到后端进行跨域请求,整理分享下. 效果图 前端 html部分 <!DOCTYPE html> ...
- PHP之:多图上传
撰写日期:2016-6-30 15:17:35 Thursday 参考 http://a3147972.blog.51cto.com/2366547/1381136 (08-05ThinkPHP+sw ...
- [Asp.net]Uploadify所有配置说明,常见bug问题分析
引言 之前写过一篇使用swfupload上传图片的文章:周末大放送网站图片上传,水印,预览,截图,这里分析一下,当时使用uploadify上传,无法获取上传后,图片路径的问题.当时没有测试没有成功,一 ...
- Uploadify所有配置说明,常见bug问题分析
引言 之前写过一篇使用swfupload上传图片的文章:周末大放送网站图片上传,水印,预览,截图,这里分析一下,当时使用uploadify上传,无法获取上传后,图片路径的问题.当时没有测试没有成功,一 ...
- 使用SWFUpload无刷新上传图片
使用SWFUpload组件无刷新上传图片 在做项目时,需要用到一个图片的无刷新上传,之前听说过SWFUpload,于是想要通过SWFUpload来进行图片的无刷新上传,由于我的项目属于是ASP.NET ...
- swfupload在chrome中点击上传图片按钮无反应的解决办法
chrome 22.0.XXXXX dev版上传图片按钮点击无反应原因:是GOOGLE的内建Flash PPAPI外挂所导致的. 问题原因: 由于Google浏览器(Chrome),在最新测试版22. ...
- ckeditor添加自定义按钮整合swfupload实现批量上传图片
ckeditor添加自定义按钮整合swfupload实现批量上传图片给ckeditor添加自定义按钮,由于ckeditor只能上传一张图片,如果要上传多张图片就要结合ckfinder,而ckfinde ...
随机推荐
- multer中间件
1.Multer是node.js的一个中间件,用于处理multipart/form-data类型的表单数据,它主要用于上传文件.(Multer不会处理任何非multipart/form-data类型的 ...
- C++中static_cast和dynamic_cast强制类型转换
在C++标准中,提供了关于类型层次转换中的两个关键字static_cast和dynamic_cast. 一.static_cast关键字(编译时类型检查) 用法:static_cast < ty ...
- 小程序 canvas实现图片预览,图片保存
wxml 代码: <view class="result-page"> <canvas bindtap="previewImage" canv ...
- spring是如何控制事务
1.spring的核心是ioc和aop,其中ioc是将控制权交由spring容器进行管理,aop是面向切面编程,内部实现使用的是动态代理,二动态代理内部实现用的是反射.spring的事务是通过aop来 ...
- What is probabilistic programming? | 中文翻译
What is probabilistic programming? | 中文翻译 Probabilistic languages can free developers from the compl ...
- 接口自动化(unittest)
一.用例 TestCase 也就是测试用例 TestSuite 多个测试用例集合在一起,就是TestSuite TestLoader是用来加载TestCase到TestSuite中的 TestRunn ...
- python元组与购物车程序
#Author:zww ''' 程序:购物车程序 需求: 1.启动程序后,让用户输入工资,然后打印呢商品列表 2.允许用户根据商品编号购买商品 3.用户选择商品后,检测余额是否足够,够就直接扣款,不够 ...
- Codeforces 839C Journey - 树形动态规划 - 数学期望
There are n cities and n - 1 roads in the Seven Kingdoms, each road connects two cities and we can r ...
- bzoj 3993 星际战争 - 二分答案 - 最大流
3333年,在银河系的某星球上,X军团和Y军团正在激烈地作战.在战斗的某一阶段,Y军团一共派遣了N个巨型机器人进攻X军团的阵地,其中第i个巨型机器人的装甲值为Ai.当一个巨型机器人的装甲值减少到0或者 ...
- VC++ 使用CreateProcess创建新进程
https://www.cnblogs.com/fancing/p/6477918.html #include <windows.h> #include <tchar.h> # ...