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 ...
随机推荐
- 前端框架VUE----babel
这个是解析我们es6的代码的,为什么要用它呢,因为对于一些ie浏览器,甚至FF浏览器,低版本的还不能识别我们的es6代码,那么vue里面好多还让我们去写es6的代码,这个时候我们就可以用babel这个 ...
- Django框架----路由系统(详细)
Django的路由系统 Django 1.11版本 URLConf官方文档 URL配置(URLconf)就像Django 所支撑网站的目录.它的本质是URL与要为该URL调用的视图函数之间的映射表. ...
- Linux centos7 下 svn 服务器搭建
摘自:https://www.cnblogs.com/mymelon/p/5483215.html 鉴于在搭建时,参考网上很多资料,网上资料在有用的同时,也坑了很多人 本文的目的,也就是想让后继之人在 ...
- kali linux DIY
开启你的kali linux DIY之旅 感谢原博主的分享,真的非常非常受用! 更新源 首先 是kali2016.2更新源的问题,网上找了好久,都不是很满意.后来把kali 2016.2安装到实体机中 ...
- sqlserver搜索中怎么把varchar类型转换成numeric类型
sqlserver搜索中怎么把varchar类型转换成numeric类型 可以用cast来转换 如:列名叫grade,表名为A select cast(grade as numeric(y,x)) f ...
- MySQL字符类型datetime与timestamp
这片博客来详细分区一下这哥俩! 首先来说明这两个字符类型: DATETIME 8 1000-01-01 00:00:00 ~9999~12-31 23:59:59 0000-00-00 00:00:0 ...
- 阿里云centos远程连接mysql
首先在服务器管理控制台设置防火墙规则 添加规则 使用root登录到mysql 添加一个用户名,权限为%的远程连接用户 grant all on *.* to 'yuancheng'@'%' ident ...
- 使用 select 实现 goroutine 超时
虽然携程是Go语言中一个新的概念,嗯,但它本质上依然是属于多线程.超时机制是多线程中是一个非常重要的保障程序的鲁棒性的一个措施:错误是很难预估的,在多线程中更为显著,更容易出现难以预料的错误. 一个异 ...
- 51Nod 1667 概率好题 - 容斥原理
题目传送门 无障碍通道 有障碍通道 题目大意 若$L_{i}\leqslant x_{i} \leqslant R_{i}$,求$\sum x_{i} = 0$以及$\sum x_{i} < 0 ...
- poj 3687 Labeling Balls - 贪心 - 拓扑排序
Windy has N balls of distinct weights from 1 unit to N units. Now he tries to label them with 1 to N ...