前端代码
1:导入js文件和样式
<script type="text/javascript" src="~/Scripts/uploadify/jquery.uploadify.min.js"></script>
<link href="~/Scripts/uploadify/uploadify.css" rel="stylesheet" />
js代码:
function Upload() {
//添加界面的附件管理
$('#file_upload').uploadify({
'width': 80,
'swf': '/Scripts/uploadify/uploadify.swf', //FLash文件路径
'buttonText': '浏 览', //按钮文本
'uploader': '/FileUpload/Upload', //处理文件上传Action
'queueID': 'fileQueue', //队列的ID
'queueSizeLimit': 10, //队列最多可上传文件数量,默认为999
'auto': false, //选择文件后是否自动上传,默认为true
'multi': false, //是否为多选,默认为true
'removeCompleted': true, //是否完成后移除序列,默认为true
'fileSizeLimit': '10MB', //单个文件大小,0为无限制,可接受KB,MB,GB等单位的字符串值
'fileTypeDesc': 'Image Files', //文件描述
'fileTypeExts': '*.xls;*.xlsx', //上传的文件后缀过滤器
// 'onQueueComplete': function (event, data) { //所有队列完成后事件
// ShowUpFiles($("#Attachment_GUID").val(), "div_files"); //完成后更新已上传的文件列表
// $.messager.alert("提示", "上传完毕!"); //提示完成
// },
'onUploadSuccess': function (file, data, response) {
$.messager.alert("提示", "上传完毕!" + data);
$("#magazineGrid").datagrid('reload');
},
'onUploadError': function (event, queueId, fileObj, errorObj) {
/alert(errorObj.type + ":" + errorObj.info);
}
});
}
后端代码://需要在根目录下创建UploadFiles保存上传的文件,后台代码是用asp.net mvc写的
public class FileUploadController : Controller
{
//
// GET: /FileUpload/
public ActionResult Index()
{
return View();
}
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Upload(HttpPostedFileBase fileData, string guid, string folder)//保证引用的jquery.uploadify.min.js 在jquery-1.8.2.min.js之后引用
{
if (fileData != null)
{
try
{
ControllerContext.HttpContext.Request.ContentEncoding = Encoding.GetEncoding("UTF-8");//是为了保证前台传入的中文值不乱码
ControllerContext.HttpContext.Response.ContentEncoding = Encoding.GetEncoding("UTF-8");
ControllerContext.HttpContext.Response.Charset = "UTF-8";
// 文件上传后的保存路径
string filePath = Server.MapPath("~/UploadFiles/");
DirectoryUtil.AssertDirExist(filePath);
string fileName = Path.GetFileName(fileData.FileName); //原始文件名称
string fileExtension = Path.GetExtension(fileName); //文件扩展名
string saveName = Guid.NewGuid().ToString() + fileExtension; //保存文件名称
fileData.SaveAs(filePath + saveName);//保存文件
string abolutePath = filePath + saveName;
string flag_insert = PLInsert(abolutePath, fileExtension,fileName);//进行批量插入操作
FileUtil.DeleteFile(abolutePath);
return Content(flag_insert);
}
catch (Exception ex)
{
return Content("上传失败:"+ex.Message);
}
}
else
{
return Content("请选择要上传的文件!");
}
}
}