我带有上传图像的方法,我需要将其重命名为我的应用程序中具有固定名称但是当使用File.Copy方法时,它返回结果(文件不存在) 我不知道那是怎么回事。
我试过这个File.Copy(UploadFile.FileName,newFilName); 也没有回应
string filename = Path.GetFileName(FileUpload.FileName);
string extension = Path.GetExtension(FileUpload.PostedFile.FileName);
string oldFileName = FileUpload.FileName;
string newFileName = ("aboutusImage" + extension);
File.Copy(oldFileName, newFileName);
File.Delete(oldFileName);
File.Move(FileUpload.FileName, newFileName);
FileUpload.SaveAs(Server.MapPath("~/Styles/aboutusImages/") + newFileName);
var updateAboutus = (from a in dbContext.DynamicText
where a.Id == 1
select a).Single();
updateAboutus.Id = updateAboutus.Id;
updateAboutus.Name = updateAboutus.Name;
updateAboutus.Image = Path.Combine("~/Styles/aboutusImages/", "aboutusImage.jpg");
dbContext.SaveChanges();
答案 0 :(得分:2)
FileUpload.FileName属性表示客户端计算机上的文件名,而不是服务器上的文件名。 尝试使用File.Copy几乎没有成功的可能性,除非你在当前文件夹中的自己的服务器中有相同的文件。
protected void UploadButton_Click(object sender, EventArgs e)
{
// Specify the path on the server to
// save the uploaded file to.
String savePath = @"c:\temp\uploads\";
// Before attempting to perform operations
// on the file, verify that the FileUpload
// control contains a file.
if (FileUpload1.HasFile)
{
String fileName = FileUpload1.FileName;
// Append the name of the file to upload to the path.
savePath += fileName;
// Call the SaveAs method to save the
// uploaded file to the specified path.
// This example does not perform all
// the necessary error checking.
// If a file with the same name
// already exists in the specified path,
// the uploaded file overwrites it.
FileUpload1.SaveAs(savePath);
当然,以下File.Delete,File.Move有同样的问题,应该删除
答案 1 :(得分:1)
您尝试移动的名称只是客户端上给出的名称,而不是服务器上的当前名称。它可能位于服务器上的某个临时位置。
您可能需要FileUpload.SaveAs功能。