asp.net完成文件上传的代码教程


本文摘自PHP中文网,作者Y2J,侵删。

本篇文章主要介绍了asp.net core mvc实现文件上传实例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。

工作用到文件上传的功能,在这个分享下 ~~

Controller:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

public class PictureController : Controller

  {

    private IHostingEnvironment hostingEnv;

 

    public PictureController(IHostingEnvironment env)

    {

      this.hostingEnv = env;

    }

    // GET: /<controller>/

    public IActionResult Index()

    {

      return View();

    }

    public IActionResult UploadFiles()

    {

      return View();

    }

    [HttpPost]

    public IActionResult UploadFiles(IList<IFormFile> files)

    {

      long size = 0;

      foreach (var file in files)

      {

        var filename = ContentDispositionHeaderValue

                .Parse(file.ContentDisposition)

                .FileName

                .Trim('"');

        //这个hostingEnv.WebRootPath就是要存的地址可以改下

        filename = hostingEnv.WebRootPath + $@"\{filename}";

        size += file.Length;

        using (FileStream fs = System.IO.File.Create(filename))

        {

          file.CopyTo(fs);

          fs.Flush();

        }

      }

      ViewBag.Message = $"{files.Count} file(s) /{ size}bytes uploaded successfully!";

       return View();

    }

 

  }

view:

1

2

3

4

5

6

7

<form asp-action="UploadFiles"

         asp-controller="Picture"

         method="post"

         enctype="multipart/form-data">

        <input type="file" name="files" multiple />

        <input type="submit" value="Upload Selected Files" />

 </form>

文件是上传到wwwroot目录文件下的,这我也看不太懂还在学习,欢迎大家交流~~

----------------------------------------------------------------------------------------------------------

下面是jquery ajax方式上传的

post方式的action的z参数没用 因为只有一个post方式的会404错误所以又加了一个get的action

Controller:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

public IActionResult UploadFilesAjax()

{

  return View();

}

[HttpPost]

public IActionResult UploadFilesAjax(string z)

{

  long size = 0;

  var files = Request.Form.Files;

  foreach (var file in files)

  {

    var filename = ContentDispositionHeaderValue

            .Parse(file.ContentDisposition)

            .FileName

            .Trim('"');

    filename = @"C:\Users\lg.HL\Desktop" + $@"\{filename}";   

    size += file.Length;

    using (FileStream fs = System.IO.File.Create(filename))

    {

      file.CopyTo(fs);

      fs.Flush();

    }

  }

  string message = $"{files.Count} file(s) / { size}bytes uploaded successfully!";

    return Json(message);

}

view

1

2

3

4

5

6

7

<form method="post" enctype="multipart/form-data">

      <input type="file" id="files"

          name="files" multiple />

      <input type="button"

          id="upload"

          value="Upload Selected Files" />

 </form>

jquery

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

<script type="text/javascript">

    $(document).ready(function () {

      $("#upload").click(function (evt) {

        var fileUpload = $("#files").get(0);

        var files = fileUpload.files;

        var data = new FormData();

        for (var i = 0; i < files.length ; i++) {

          data.append(files[i].name, files[i]);

        }

        $.ajax({

          type: "POST",

          url: "/Picture/UploadFilesAjax",

          contentType: false,

          processData: false,

          data: data,

          success: function (message) {

            alert(message);

          },

          error: function () {

            alert("There was error uploading files!");

          }

        });

      });

    });

</script>

【相关推荐】

1. 特别推荐:“php程序员工具箱”V0.1版本推荐

2. ASP免费视频教程

3. 李炎恢ASP基础视频教程

以上就是asp.net完成文件上传的代码教程的详细内容!

相关阅读 >>

浅析asp.net页面缓存技术

分享asp.net学习笔记(13)razor 语法详解

vs2017 linux 上.net core调试步骤

.net core如何动态调用泛型解决方法

用signair和push.js完成消息推送代码详解

asp.net mvc路由配置(图文详解)

asp.net core实例教程之配置

asp.net通过remoting service上传文件的实例详解

asp.net利用反射实现给model类赋值的示例代码分析

[asp.net mvc 小牛之路]07 - url routing

更多相关阅读请进入《asp.net》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...