zoukankan      html  css  js  c++  java
  • C#.netmvc单文件上传 ajax上传文件

    写到到数据库的模型

    using System;
    using System.Collections.Generic;
    using System.ComponentModel.DataAnnotations;
    using System.Linq;
    using System.Web;
    
    namespace WebApplication1.Models
    {
        public class UserInfo
        {
            public string Id { get; set; }
        
            public string UserName { get; set; }
       
            public string Address { get; set; }
      
            public HttpPostedFileBase ImgUrl { get; set; }
        }
    }

    控制器写法

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.Mvc;
    using WebApplication1.Models;
    using System.IO;
    
    namespace WebApplication1.Controllers
    {
        public class HomeController : Controller
        {
            [HttpGet]
            public ActionResult Index()
            {
                return View();
            }
            [HttpPost]
            public string Index(HttpPostedFileBase file)
            {
                //判断文件是否存在
                if (file != null)
                {
                    //写一个文件保存的路径
                    string imgpath = Server.MapPath(@"Img");
                    //判断路径是否存在,不存在则创建
                    if (!Directory.Exists(imgpath))
                    {
                        Directory.CreateDirectory(imgpath);
                    }
                    //给文件再起个名
                    string ImgName = DateTime.Now.ToString("yyyyMMddHHmmss")+"_"+file.FileName;
                    //把文件保存到服务器上
                    file.SaveAs(imgpath + ImgName);
                    //返回文件的位置
                    return @"Img" + ImgName;
                }
    
                return "null";
            }
        }
    }

    前台页面写法

    @{
        ViewBag.Title = "Index";
    }
    
    <h2>Index</h2>
    <script src="~/Scripts/jquery-3.4.1.js"></script>
    <script src="~/Scripts/jquery.unobtrusive-ajax.js"></script>
    
    <div class="form-group">
        <label for="crowd_file" class="col-sm-2 control-label">上传文件</label>
        <div class="col-sm-10">
            <input type="file" accept=".jpg" id="crowd_file">
        </div>
    </div>
    <div class="form-group">
    
        <div class="col-sm-10">
            <input type="button" value="上传" class="submit" id="crowd_file">
        </div>
    </div>
    
    <script>
        $('.submit').click(function () {
                 var formData = new FormData();
           formData.append("file", $('#crowd_file')[0].files[0]);
    
            $.ajax({
                url: '/Home/Index',
                dataType: 'json',
                type: 'POST',
                async: false,
                data: formData,
                processData: false, // 使数据不做处理
                contentType: false, // 不要设置Content-Type请求头
                success: function (data) {
                    console.log(data);
                    if (data.status == 'ok') {
                        alert('上传成功!');
                    }
    
                },
                error: function (response) {
                    console.log(response);
                }
            });
        })
    </script>
  • 相关阅读:
    c语言命名规则 [转载]
    [转贴]C编译过程概述
    [转贴]漫谈C语言及如何学习C语言
    Semaphore源码分析
    如何快速转行大数据
    web前端到底怎么学?
    Code Review怎样做好
    SDK与API的理解
    分析消费者大数据
    程序员的搞笑段子
  • 原文地址:https://www.cnblogs.com/ataoliu/p/13381890.html
Copyright © 2011-2022 走看看