Я пытаюсь сохранить несколько изображений с помощью этого кода. Но вместо этого он сохраняет все файлы, включая видео, миниатюру и изображение. Все, что мне нужно сделать, это сохранить только изображения. Что я здесь делаю неправильно? СпасибоСохранение нескольких изображений в C#
List<string> img = new List<string>();
HttpFileCollection httpFileCollection = Request.Files;
for (int i = 0; i < httpFileCollection.Count; i++)
{
HttpPostedFile httpPostedFile = httpFileCollection[i];
if (httpPostedFile.ContentLength > 0 && httpPostedFile.ContentType.StartsWith("image/"))
{
httpPostedFile.SaveAs(Server.MapPath("~/Icon/") + System.IO.Path.GetFileName(httpPostedFile.FileName));
img.Add(Server.MapPath("~/Icon/") + System.IO.Path.GetFileName(httpPostedFile.FileName));
}
}
cmd.Parameters.AddWithValue("@ImageURL", img.ToArray().Length > 0 ? String.Join(",", img.ToArray()) : Path.GetFileName(FileUpload2.PostedFile.FileName));
Вы никогда не проверяет, является ли файл изображения. Вы вызываете httpPostedFile.SaveAs для всех файлов. –
попробуйте добавить еще один оператор в 'if (httpPostedFile.ContentLength> 0)', который будет проверять, является ли файл изображением – harry180
Я редактировал код в соответствии с предложениями и помощью. Но теперь проблема в том, что данные не разделены запятой в той же строке. Вместо этого он сохраняет каждый путь изображения в новой строке. Как я могу это исправить? Благодарю. –