J'ai une section qui, une fois créé, prend en images, mais lorsque vous modifiez cet élément je ne veux pas qu'ils re-upload aucun ne change d'images juste pour changer une description ou un nom .formulaire avec téléchargement multiple, mais ne permet pas de télécharger sur les problèmes d'édition
j'ai créé ce qui traite du transfert de fichiers:
public void UploadFiles(string currentFileName, FormCollection form)
{ // loop through all files in form post
foreach (string file in Request.Files)
{
HttpPostedFileBase hpf = Request.Files[file];
// if no file is uploaded, we could be editing so set to current value
if (hpf.ContentLength == 0)
{
form[file] = currentFileName;
}
else
{ //rename the file unique so we dont clash with names
var filename = hpf.FileName.Replace(" ", "_").Replace(".", DateTime.Now.Date.Ticks + ".");
UploadFileName = filename;
hpf.SaveAs(Server.MapPath("~/Content/custom/" + filename));
// set the name of the file in our post to the new name
form[file] = UploadFileName;
}
}
// ensure value is still sent when no files are uploaded on edit
if(Request.Files.Count <= 0)
{
UploadFileName = currentFileName;
}
}
tout fonctionne très bien quand une seule image est nécessaire (CurrentFileName), mais il y a maintenant une nouvelle image disponible prendre à un total de 2 images Dans la base de données, currentFileName est obsolète. Quelqu'un at-il abordé cela et comment j'ai frappé un mur avec celui-ci. pensé de string [] currentFiles mais ne peux pas voir comment faire correspondre cela dans le fichier de chaîne dans Request.Files. Si cela aide, je travaille également avec des modèles pour la forme afin que je puisse passer sur le modèle, mais je ne pense pas que votre capable de faire model.file sans une sorte de réflexion.
aide très appréciée.
grâce
je pense que je l'ai pensé à quelque chose, en passant un NameValueCollection puis en utilisant le formulaire [fichier] = currentFiles [fichier]; est-ce correct? mais alors que faire à propos de la dernière si? – davethecoder