Jquery.Uploadify 上传文件插件的使用

事先要将uploadify插件引入到解决方案中,可去uploadify官网下载;
此例子是在MVC中进行的实现;
脚本代码段:
<script src="~/Scripts/jquery-1.11.1.min.js"></script>
<script src="~/Scripts/Common/uploadify/jquery.uploadify.min.js?@(new Random().Next())=@(new Random().Next())"></script> <script> $(‘#uploadify‘).uploadify({ uploader: ‘/SocialSecurity/Upload‘, // 服务器端处理地址 swf: ‘../Scripts/Common/uploadify/uploadify.swf‘, // 上传使用的 Flash width: 60, // 按钮的宽度 height: 23, // 按钮的高度 buttonText: "上传", // 按钮上的文字 buttonCursor: ‘hand‘, // 按钮的鼠标图标 fileObjName: ‘Filedata‘, // 上传参数名称 fileSizeLimit: ‘51200K‘,//1M:1*1024*1024 // 两个配套使用 fileTypeExts: "*.gif;*.jpg;*.jpeg;*.png;*.GIF;*.JPG;*.PNG;", // 扩展名 fileTypeDesc: "请选择 gif|jpg|jpeg|png 文件", // 文件说明 auto: true, // 选择之后,自动开始上传 //multi: true, // 是否支持同时上传多个文件 //queueSizeLimit: 5, // 允许多文件上传的时候,同时上传文件的个数 removeCompleted: false, //文件上传完成后,是否自动移除队列中的文件 uploadLimit: 1, //最大上传文件数量,如果达到或超出此限制将会触发onUploadError事件。 onInit: function () { $("#uploadify-queue").hide();//隐藏上传进度和上传文件的大小 }, onSelect: function (file) { //选择文件后向队列中添加每个上传任务时都会触发。 auto_boxHeight(‘ifm4‘, 30); }, onUploadSuccess: function (file, data, response) { $("#hf_uploadURL").val(data); alert("上传成功"); } }); </script>

html标签:

<div class="fl lh45form bdLeft" style="width:370px;padding-left:50px;">
                    <h3 class="ml5">资料上传</h3>
                    <table class="tb_form">
                        <tr>
                            <td class="tx_left" width="27%">生效时间</td>
                            <td class="tx_left"><input type="text" class="timeInput" name="effectiveTime" id="txtEffectiveTime" onclick="WdatePicker({ minDate: ‘%y-%M-01‘, dateFmt: ‘yyyy-M‘ });" value=""></td>
                        </tr>
                        <tr>
                            <td class="tx_left">上传证明资料</td>
                            <td class="tx_left btnC">
                                <span id="uploadify"></span>
                                <input type="hidden" id="hf_uploadURL" name="uploadURL" />
                            </td>
                        </tr>
                        <tr>
                            <td colspan="2" class="tx_left">备注: XXXX</td>
                        </tr>
                    </table>
                </div>

  后台Controller.cs代码段:

public ActionResult Upload(HttpPostedFileBase Filedata)
        {
            // 如果没有上传文件
            if (Filedata == null ||
                string.IsNullOrEmpty(Filedata.FileName) ||
                Filedata.ContentLength == 0)
            {
                return this.HttpNotFound();
            }
            //文件是否存在
            if (!Directory.Exists(Server.MapPath("~/Upload")))
            {
                Directory.CreateDirectory(Server.MapPath("~/Upload"));
            }
            //文件下的文件是否存在
            string fileName = "~/Upload/SocialSecurityFile";
            if (!Directory.Exists(Server.MapPath(fileName)))
            {
                Directory.CreateDirectory(Server.MapPath(fileName));
            }
            // 保存到 ~/photos 文件夹中,名称不变
            string filename = System.IO.Path.GetFileName(Filedata.FileName);

            string allFileName = Guid.NewGuid().ToString("N");//得到一个32位的数字,国际唯一字符
            string virtualPath = string.Format("~/Upload/SocialSecurityFile/{0}_{1}", allFileName, filename);
            // 文件系统不能使用虚拟路径
            string path = this.Server.MapPath(virtualPath);

            Filedata.SaveAs(path);
            var url = FuncFileUpload.Instance.Upload(path);//此代码是将代码服务器中的文件资源上传至文件资源服务器中,也可直接返回path值(代码服务器上的文件路径值)
            System.IO.File.Delete(path);

            return Content(url);
        }

  到此,运行即可看到上传的效果;

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。