MVC文件上傳


這次來看下一個MVC網站上傳文件的功能,其中上傳用到uploadify這個jquery插件,網上還有很多類似的,哪種都無所謂,能實現功能便行,貌似uploadify官網上的這個插件是要付費的,這里就順便提供這個插件的下載地址如下:http://files.cnblogs.com/xmfdsh/uploadify3.2.zip

首先創建一個MVC的網站,新建一個文件夾名稱為UpLoadiFy(這里可以隨便起名稱),來存放uploadify這個插件需要用到的js,css以及flash文件。如下圖:

1

Home控制器有兩個方法,Index和一個上傳時插件傳入的UpLoadFile方法。如下:

public ActionResult Index()
        {
            return View();
        }

        [HttpPost]
        public ContentResult UpLoadFile(HttpPostedFileBase fileData)
        {
            if (fileData != null && fileData.ContentLength > 0)
            {
                string fileSave = Server.MapPath("~/UpLoad/");
                //獲取文件的擴展名
                string extName = Path.GetExtension(fileData.FileName);
                //得到一個新的文件名稱
                string newName = Guid.NewGuid().ToString() + extName;
                fileData.SaveAs(Path.Combine(fileSave, newName));
            }
            return Content("");
        }

至於前台的話就只需要引用jquery的js和對應插件的js,css,便可。:

3

至於<script></script>里面的代碼就如下了,通過初始化來實現上傳功能,至於里面的參數可以去google一下uploadify這個插件的相關參數,下面的代碼也注釋了一下主要參數的作用。

<script type="text/javascript">
        $(function () {
            $('#Filedata').uploadify({
                fileObjName: 'Filedata',
                uploader: '/Home/UpLoadFile',           // 服務器端處理地址
            swf: '/UpLoadiFy/uploadify.swf',    // 上傳使用的 Flash
            width: 60,                          // 按鈕的寬度
            height: 23,                         // 按鈕的高度
            buttonText: "上傳",                 // 按鈕上的文字
            buttonCursor: 'hand',                // 按鈕的鼠標圖標
            fileObjName: 'Filedata',            // 上傳參數名稱
            // 兩個配套使用
            fileTypeExts: "*.jpg;*.png",             // 擴展名,限制擴展名,可按照自己想要的來設置
            fileTypeDesc: "請選擇 jpg png 文件",     // 文件說明
            auto: true,                // 選擇之后,自動開始上傳
            multi: true,               // 是否支持同時上傳多個文件
            queueSizeLimit: 5          // 允許多文件上傳的時候,同時上傳文件的個數
            });
        });
    </script>

這樣便搞定了整個基本上傳的功能,從前台的jquery插件選擇了文件后,便會把這個文件的相關信息傳入都控制器后台的UpLoadFile方法,然后再保存起來到指定的路徑,如上面的代碼我保存的是("~/UpLoad/");這個路徑。運行效果如下:

4

 

5

 


免責聲明!

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



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