我将使用 asp.net 文件上传控件上传多个图像。这个解决方案有很多建议。目前正在使用 DataTable 。所有图像都置于 DataTable 视图状态,然后在检查其行时。如果已经存在,我标记一个 Check on 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,我们无法确定该文件是否存在于服务器上。第三个选项可以是如果文件已经存在于上传文件夹中,我们会询问用户是否要覆盖现有文件。或者我应该使用System.IO.File.Exists(pathToCheck))
??
我想要你身边的好建议......谢谢:Saquib