Maison > développement back-end > Tutoriel C#.Net > Tutoriel de code pour terminer le téléchargement de fichiers dans asp.net

Tutoriel de code pour terminer le téléchargement de fichiers dans asp.net

Y2J
Libérer: 2017-05-16 10:25:36
original
1574 Les gens l'ont consulté

Cet article présente principalement l'implémentation asp.net core mvc d'exemples de téléchargement de fichiers, qui a une certaine valeur de référence. Les amis intéressés peuvent s'y référer.

La fonction de téléchargement de fichiers est utilisée dans mon travail~~

Contrôleur :                                                                                      Téléchargé dans le fichier du répertoire wwwroot, je ne le comprends pas très bien et je suis toujours apprendre. Tout le monde est invité à communiquer~~

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(&#39;"&#39;);
        //这个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();
    }

  }
Copier après la connexion
------------------------------ ---------. ----------------------------------------- --------- --------------------------------

Ce qui suit est
<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>
Copier après la connexion
jquery

Le paramètre z du

L'action de publication téléchargée par la méthode ajax est inutile car il n'y a qu'une seule méthode de publication qui provoquera une erreur 404, j'ai donc ajouté une action get

Contrôleur :

vue

jquery

    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(&#39;"&#39;);
        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);
    }
Copier après la connexion

[Recommandations associées]

<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>
Copier après la connexion
1

Recommandation spéciale
<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>
Copier après la connexion

:

" php Programmer Toolbox" Version V0.1 recommandée

2. Tutoriel vidéo gratuit ASP3.

Tutoriel vidéo de base Li Yanhui ASP

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal