none
problème avec la classe HttpPostedFileBase " projet asp net core mvc" RRS feed

Toutes les réponses

  • Bonjour,

    Avez-vous ajouté la référence System.Web ?

    Cordialement,
    Nina


    Microsoft propose ce service gratuitement, dans le but d'aider les utilisateurs et d'élargir les connaissances générales liées aux produits et technologies Microsoft. Ce contenu est fourni "tel quel" et il n'implique aucune responsabilité de la part de Microsoft.


    vendredi 27 avril 2018 11:25
    Modérateur
  • Bonjour,

    un upload est en fait un download sur le serveur.

    De plus il me semble, que tu doit ajouter une data annotation a ta méthode pour dire que tu postes un fichier : <HttpPost>

    Enfin dans ton formulaire n'oublie pas de dire que tu traites un flux de données. Ton beginForm doit ressembler à ceci 

    @Using (Html.BeginForm("Create", "Movie", FormMethod.Post, New With {.enctype = "multipart/form-data"}))

    Dernière chose ton paramètre de méthode doit avoir le même "name" que ton INPUT

    Voici un exemple que j'ai pour toi :

    <HttpPost()>
            Function Create(ByVal m As Movie, ByVal file As HttpPostedFileBase) As ActionResult
                Dim name As String = "movie.png"
                If ModelState.IsValid Then
                    Try
                        If file IsNot Nothing Then
                            name = Path.GetFileName(file.FileName)
                            Dim chemin As String = Path.Combine(Server.MapPath("~/Resources"), name)
                            file.SaveAs(chemin)
                        End If
                        m.Cover = "~/Resources" & name
                        context.Movies.Add(m)
                        context.SaveChanges()
    
                        Return RedirectToAction("Index")
                    Catch ex As Exception
                        ViewBag.Erreur = ex.Message
                        Return View("Erreur")
                    End Try
                End If
                Return View()
            End Function

    dans ton fichier .vbhtml : 

    ...
    
    @Using (Html.BeginForm("Create", "Movie", FormMethod.Post, New With {.enctype = "multipart/form-data"}))
        @Html.AntiForgeryToken()
    
    ...
    
            <div class="form-group">
                @Html.LabelFor(Function(model) model.Cover, htmlAttributes:=New With {.class = "control-label col-md-2"})
                <div class="col-md-10">
                    @*Je crée un input qui sera côté client une boîte de sélection de fichier*@
                        <input type="file" name="file" accept="image/jpeg" />
                </div>
            </div>
    
            <div class="form-group">
                <div class="col-md-offset-2 col-md-10">
                    <input type="submit" value="Create" class="btn btn-default" />
                </div>
            </div>
        </div>
    End Using
    
    <div>
        @Html.ActionLink("Back to List", "Index")
    </div>
    <script src="~/Scripts/jquery-1.10.2.min.js"></script>
    <script src="~/Scripts/jquery.validate.min.js"></script>
    <script src="~/Scripts/jquery.validate.unobtrusive.min.js"></script>


    • Modifié laubry mercredi 1 août 2018 13:19
    mercredi 1 août 2018 13:17