asp.net ファイル アップロード コントロールを使用して複数の画像をアップロードします。このソリューションには多くの提案があります..現在 DataTable を使用しています。すべての画像がDataTableビューステートに置かれ、その行をチェックしている..すでに存在する場合はFileNameにチェックマークを付けてアップロードしません..しかし、ユーザーが同じ名前の画像を別のフォルダー/パスから参照/アップロードすると、が問題になります。私のコードはここにあります
private void AttachImage()
{
string fileName = Convert.ToString(Guid.NewGuid());
string filePath = "images/" + fileName;
fileName = Path.GetFileName(ImageUpload.PostedFile.FileName);
ImageUpload.SaveAs(Server.MapPath(filePath));
DataTable dt = new DataTable();
DataColumn dc = new DataColumn();
dc = new DataColumn("Name", typeof(String));
dt.Columns.Add(dc);
dc = new DataColumn("Path", typeof(String));
dt.Columns.Add(dc);
dt.Rows.Add(fileName, filePath);
if (ViewState["dt"] == null)
{
ViewState["dt"] = dt;
}
else// (ViewState["dt"] != null)
{
DataTable tmpTable = (DataTable)ViewState["dt"];
tmpTable.Rows.Add(fileName, filePath);
ViewState["dt"] = tmpTable;
}
lstProductsImage.DataSource = (DataTable)ViewState["dt"];
lstProductsImage.DataBind();
}
次に、 GUID を使用してイメージを割り当てます。ただし、FileName のみが変更され、このファイルがサーバー上に存在するかどうかを判断できないため、適切ではありません。3 番目のオプションは、ファイルがアップロード フォルダーに既に存在する場合、既存のファイルを上書きするかどうかをユーザーに確認することです。または、使用する必要がありますSystem.IO.File.Exists(pathToCheck))
か??
あなたの側からの良い提案が欲しい... ありがとう: Saquib