2017-11-18 148 views
-1

我有这样的代码,从文件上传保存图像文件夹:我不能老是将图片保存到项目文件夹

int count = 1; 
string fullPath = Path.GetFullPath(FileUpload1.FileName); 
string fileNameOnly = Path.GetFileNameWithoutExtension(fullPath); 
string extension = Path.GetExtension(fullPath); 
string path = Path.GetDirectoryName(fullPath); 
string tempFileName = fileNameOnly; 
while (File.Exists("~/ UploadedImages//" + tempFileName + extension)) 
{ 
tempFileName = string.Format("{0}({1})", fileNameOnly, count++); 
} 

FileUpload1.SaveAs(Server.MapPath("~/ UploadedImages//" + tempFileName + extension)); 
+2

那是你的实际代码? UploadedImages之前有一个空间。 –

+0

请提供例外详情。使用[清单](https://meta.stackoverflow.com/questions/260648/stack-overflow-question-checklist)来完成你的问题。 – rene

+0

可能[Path.GetInvalidFileNameChars](https://msdn.microsoft.com/en-us//library/system.io.path.getinvalidfilenamechars(v = vs.110).aspx)在这里可能有用 –

回答

-2
string ext = Path.GetExtension(FileUpload1.FileName); 
if (ext.ToLower() == ".jpg" || ext.ToLower() == ".png" || ext.ToLower() == ".gif" || ext.ToLower() == ".ico") 
{ 
     string fn = Guid.NewGuid() + Path.GetExtension(file.FileName); 
     file.SaveAs(Path.Combine(Server.MapPath("~/assets/image/"),fn)); 
} 
if (ext.ToLower() == ".pdf") 
{ 
    string fn = Guid.NewGuid() + Path.GetExtension(file.FileName); 
    file.SaveAs(Path.Combine(Server.MapPath("~/assets/pdf/"), fn)); 
} 
if (ext.ToLower() == ".doc" || ext.ToLower() == ".docx") 
{ 
    string fn = Guid.NewGuid() + Path.GetExtension(file.FileName); 
    file.SaveAs(Path.Combine(Server.MapPath("~/assets/doc/"), fn)); 
} 
if (ext.ToLower() == ".xls" || ext.ToLower() == ".xlsx") 
{ 
    string fn = Guid.NewGuid() + Path.GetExtension(file.FileName); 
    file.SaveAs(Path.Combine(Server.MapPath("~/assets/excel/"), fn)); 
} 
相关问题