Enregistrer MultipartFileData fichier sur le disque

J'ai le soufflet de code que j'ai vu dans d'autres threads ici, mais nulle part il n'est fait de montrer comment enregistrer une MultipartFileData fichier sur le disque une fois que vous l'avez.

[HttpPost]
public Task<HttpResponseMessage> PostFormData()
{
    //Check if the request contains multipart/form-data.
    if (!Request.Content.IsMimeMultipartContent())
    {
        throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType);
    }

    string root = HttpContext.Current.Server.MapPath(Settings.AssetImageTempStorage);
    var provider = new MultipartFormDataStreamProvider(root);

    //Read the form data and return an async task.
    var task = Request.Content.ReadAsMultipartAsync(provider).
        ContinueWith<HttpResponseMessage>(t =>
        {
            if (t.IsFaulted || t.IsCanceled)
            {
                Request.CreateErrorResponse(HttpStatusCode.InternalServerError, t.Exception);
            }

            //This illustrates how to get the file names.
            foreach (MultipartFileData file in provider.FileData)
            {
                //HOW DO I SAVE THIS FILE TO DISK HERE ???
                Trace.WriteLine(file.Headers.ContentDisposition.FileName);
                Trace.WriteLine("Server file path: " + file.LocalFileName);
            }
            return Request.CreateResponse(HttpStatusCode.OK);
        });

    return task;
}
Avez-vous regardé ceci question? Il y a une ligne File.Copy(fileData.LocalFileName, Path.Combine(StoragePath, fileName)); qui, je pense, des copies du fichier reçu à l'emplacement spécifique.
Grâce mozgow, je l'ai eu à travailler dans une manière similaire. maintenant fonctionne bien, mais dans IE8 et IE9 je reçois la Réponse suivante : HTTP/1.1 415 non pris en charge Type de Média. Dans IE10 est bien, mais inférieur à celui que j'obtiens cette stupide erreur, et je ne sais pas pourquoi.
Désolé, trouvé le problème. J'ai été en utilisant blueimp blueimp.github.io/jQuery-File-Upload/basic.html Fichier uploader. Il est livré avec un iframe fichier JS pour les anciens navigateurs, je n'ai pas. J'ai compris maintenant et il fonctionne très bien.
user2520440 est parti depuis longtemps, mais la question dans le code.. "COMMENT puis-je ENREGISTRER CE FICHIER sur le DISQUE ICI ???" a une réponse simple: Vous N'avez pas Besoin D'. Il a déjà été enregistré .ReadAsMultipartAsync(), c'est ce qui déclenche l'enregistrement.

OriginalL'auteur | 2013-12-03