JS實現檔案自動上傳

罪後憶支湮發表於2016-06-01
JS引用:
<script type="text/javascript" src="~/bootstrap/js/fileinput.min.js"></script>
<link href="~/bootstrap/css/fileinput.min.css" rel="stylesheet" />
<script src="~/Scripts/lib/jquery.json.js"></script>



HTML: <input id="fileUpload" type="file"  >


JS: 
    //自動上傳檔案-JS
    function initFileInput(ctrlName, uploadUrl) {
        var control = $('#' + ctrlName);

        control.fileinput({
            language: 'zh', //設定語言
            uploadUrl: uploadUrl, //上傳的地址  (該方法需返回JSON字串)
            allowedFileExtensions: ['xlsx', 'xls', 'txt'],//接收的檔案字尾
            showUpload: false, //是否顯示上傳按鈕
            showCaption: true,//是否顯示標題
            browseClass: "btn btn-primary", //按鈕樣式
            //previewFileIcon: "<i class='glyphicon glyphicon-king'></i>",
            uploadExtraData: { ID: "123" }
        }).on('filebatchselected', function (event, data, id, index) {
            $(this).fileinput("upload");
        }).on("fileuploaded", function (event, data) {
            if (data.response) {
               
           //通過 data.response.Json物件屬性 獲得返回資料
           errors = data.response.ErrorList;
            }
        })
    }


//上傳JS初始化
    $(function () {
        initFileInput("fileUpload", "Controllers/Action");
    });




//獲取上傳檔案彈窗關閉動作
$("#fileUpload").change(function () { alert("上傳檔案彈窗已關閉") })



參考資料:http://www.oschina.net/code/snippet_269752_55899

 

C#後臺儲存處理:

            //上傳檔案
            string root = "~/Upload/Files/StorageOutFile/";
            string path = Server.MapPath(root);
            string datePath = string.Empty;
            datePath += DateTime.Now.Year.ToString();
            datePath += DateTime.Now.Month.ToString("D2");
            datePath += DateTime.Now.Day.ToString("D2") + "/";
            root += datePath;
            if (path != null)
            {
                path += datePath;
                if (!Directory.Exists(Path.GetDirectoryName(path)))
                {
                    Directory.CreateDirectory(Path.GetDirectoryName(path));
                }
            }
            string fileName = root + CurUser.StaffName + DateTime.Now.ToString("yyyyMMddhhmmssffff") + Path.GetExtension(Request.Files[0].FileName);
            string fileUrl = Server.MapPath(fileName);
//儲存檔案 Request.Files[
0].SaveAs(fileUrl); //讀取EXCEL DataSet ds = new DataSet(); Workbook workbook = new Workbook(fileUrl); Worksheet sheet = workbook.Worksheets[0]; Cells cells = sheet.Cells; DataTable tab = new DataTable(); for (int i = 0; i <= cells.MaxColumn; i++) { tab.Columns.Add(cells[0, i].StringValue.Trim(), typeof(System.String)); } for (int i = 1; i <= cells.MaxDataRow; i++) { DataRow dr = tab.NewRow(); for (int j = 0; j <= cells.MaxDataColumn; j++) { string data = cells[i, j].StringValue.Trim(); dr[j] = data; } tab.Rows.Add(dr); } ds.Tables.Add(tab); DataTable dt = ds.Tables[0];

 

相關文章