c#:mvc中jquery上传图片

4 篇文章 0 订阅
1 篇文章 0 订阅

view:

<body>
     <input type="file" class="ajax_file_upload" />
</body>

Js://引用jquery.js,,,版本最新的把!!!

<script>
    $(function () {
        $("body").on("change", ".ajax_file_upload", function () {
            var data_ajax = "/Home/UpImages";
            var formdata = new FormData();//用form 表单直接 构造formData 对象;
            formdata.append("upfile", $(this)[0].files[0]);
            $.ajax({
                url: data_ajax,
                type: 'POST',
                cache: false,
                async: false,
                data: formdata,
                processData: false, 
                contentType: false, 
            }).done(function (data) {
                if (data.error==0) {
                   //.......
                } else {
                   //.......
                }
            }).fail(function (res) {
            });
        });
    });
</script>

Controller:

public class HomeController : Controller
{
        
        public ActionResult Index()
        {
            return View();
        }

        #region 上传图片
        /// <summary>
        /// 
        /// </summary>
        /// <returns></returns>
        [HttpPost]
        public ActionResult UpImages()
        {
            Hashtable hash = new Hashtable();
            try
            {
                if (Request.Files.Count == 0)
                    throw new Exception("请选择文件");
                System.Web.HttpPostedFileBase fileData = Request.Files[0];
                if (fileData == null)
                    throw new Exception("请选择文件");

                string sExtensionName = Path.GetExtension(fileData.FileName);

                if (sExtensionName.ToLower() != ".gif" && sExtensionName.ToLower() != ".jpg" && sExtensionName.ToLower() != ".jpeg" &&
                       sExtensionName.ToLower() != ".png")
                {
                    hash["error"] = 1;
                    hash["message"] = "上传文件不为图片!";
                }
                else
                {
                    var folderpath = "/ewmPic/photos/" + DateTime.Now.ToString("yyyy-MM") + "/";
                    var sSaveFile = Server.MapPath(folderpath);
                    
                    //创建文件夹
                    if (!System.IO.Directory.Exists(sSaveFile))
                       System.IO.Directory.CreateDirectory(sSaveFile);

                    Random rd = new Random();

                    string sFileName = Guid.NewGuid().ToString("N") + rd.Next(10000, 99999).ToString() + sExtensionName;
                    string sSaveName = sSaveFile + sFileName;

                    string sResultPath = folderpath + sFileName;
                    fileData.SaveAs(sSaveName);

                    hash["error"] = 0;
                    hash["url"] = sResultPath;
                    hash["tit"] = "暂无描述";
                }
            }
            catch (Exception message)
            {
                hash["error"] = 1;
                hash["message"] = message.Message;
            }
            return Json(hash, "text/html; charset=UTF-8", JsonRequestBehavior.AllowGet);
        }
        
        #endregion
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值