bootstrap fileInput控件實現多文件拖拽上傳


1.界面:

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title>文件列表維護</title>
<link href="../../Bootstrap/css/bootstrap.css" rel="stylesheet" />
<link href="../../Bootstrap/css/fileinput.css" rel="stylesheet" />
<script src="../../Bootstrap/js/jquery-1.9.1.min.js"></script>
<script src="../../Bootstrap/js/bootstrap.js"></script>
<script src="../../Bootstrap/js/fileinput.min.js"></script>
<script src="../../Bootstrap/js/bootstrap.js"></script>
<script src="../../Bootstrap/js/fileinput.min.js"></script>
<script src="../../Bootstrap/js/zh.js"></script>
<script type="text/javascript">

</script>
<script type="text/javascript">
$(document).ready(function () {
var fileType = $("#fileType").val();
var fileKey = $("#fileKey").val();
var keyNo = $("#hidKeyNo").val();

var ext = $("#hidExt").val().split(',');
$("#fileinput").fileinput({
language: 'zh', //設置語言
theme: 'explorer-fas',
uploadUrl: 'Upload/Upload.ashx',
overwriteInitial: false,
initialPreviewAsData: true,
enctype: 'multipart/form-data',
uploadExtraData: { fileType: fileType, Key: fileKey, keyNo: keyNo },
allowedFileExtensions: ext,
showClose: false,
allowedPreviewTypes: false,
fileActionSettings: {
showZoom: false,
showUpload: false
}
}).on('filebatchuploadcomplete', function (event, data, previewId, index) {
eci.close();
window.parent.postback("btnSearch");
});
});
</script>
</head>
<body>
<form id="form1" runat="server">
<input type="hidden" id="fileType" runat="server" />
<input type="hidden" id="fileKey" runat="server" />
<input type="hidden" id="hidExt" runat="server" />
<input type="hidden" id="hidKeyNo" runat="server" />

<div id="root">
<div class="file-loading">
<input id="fileinput" type="file" multiple class="file-loading" />
</div>
</div>
</form>
</body>
</html>

 

 

2.ashx處理程序:

public class Upload : IHttpHandler, IRequiresSessionState
{

public void ProcessRequest(HttpContext context)
{
context.Response.ContentType = "text/plain";
//string fileNo = PageHelper.Request("fileNo");
//文件類型
string fileType = PageHelper.Request("fileType");
//GUID
string key = PageHelper.Request("key");
//訂單編號
string orderNo = PageHelper.Request("keyNo");

string msg = string.Empty;//提示信息
string error = string.Empty;//錯誤提示信息
string result = string.Empty;//返回結果
string sourcePath = string.Empty;//文件保存物理路徑
string fileName = string.Empty;//文件原名
string fileNewName = string.Empty;//文件新名稱
string successFileName = string.Empty;
string fileExtension = string.Empty;//文件擴展名
string savePath = EciConfig.Read("FileUploadPath") + orderNo + "/" + DateTime.Now.ToString("yyyy") + "/" + DateTime.Now.ToString("MM") + "/";//保存目錄
string allowExt = EciConfig.Read("FILE_TYPE").ToLower();//允許上傳的后綴
int fileSize = 0;//文件大小
BLLContext bllContext = new BLLContext();
//這里只能用<input type="file" />才能有效果,因為服務器控件是HttpInputFile類型
HttpFileCollection files = context.Request.Files;

if (files.Count > 0)
{
//設置文件名
fileName = System.IO.Path.GetFileName(files[0].FileName);
//文件后綴,不帶.
fileExtension = System.IO.Path.GetExtension(files[0].FileName).Split('.')[1].ToLower();
//文件大小
fileSize = files[0].ContentLength;

//新文件名
fileNewName = Guid.NewGuid().ToString("N");
if (allowExt.IndexOf(fileExtension) == -1)//不是允許的后綴
{
error = "非法的文件格式";
result = "{ \"error\":\"" + error + "\"}";
}
else
{
if (Directory.Exists(savePath) == false)//如果不存在就創建file文件夾
{
Directory.CreateDirectory(savePath);
}
//保存文件
sourcePath = savePath + fileNewName + '.' + fileExtension;
files[0].SaveAs(sourcePath);
msg = "文件上傳成功!";
successFileName += fileNewName + ",大小:" + fileSize;

result = "{\"msg\":\"" + msg + "\",\"信息\":\"" + successFileName + "\"}";

 

if (string.IsNullOrEmpty(key))
{
error = "參數為空,請重試";
result = "{ \"error\":\"" + error + "\"}";
}
else
{
EciRequest requests = new EciRequest(OMSService.FzgjFileSave);
FZGJ_FILE saveEntity = new FZGJ_FILE();
saveEntity.DATA_OBJECT = fileType;
saveEntity.GOODS_GUID = key;
//saveEntity.KEY_NO = orderNo;
saveEntity.ORDER_NO = orderNo;
saveEntity.ORIGIN_FILE_NAME = fileName;
saveEntity.URL = sourcePath;

requests.IsAdd = true;
requests.Entity = saveEntity;
EciResponse responses = SOA.Execute(requests);
}
}
}
else
{
error = "文件上傳失敗!";
result = "{ \"error\":\"" + error + "\"}";
}
context.Response.Write(result);
context.Response.End();
}

public bool IsReusable
{
get
{
return false;
}
}


}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM