我的图像保存方法存在一个非常奇怪的问题。首先,这是方法:
public static void uploadImageToServer(string savePath, HttpPostedFile imageToUpload, bool overwrite)
{
byte[] myData = new Byte[imageToUpload.ContentLength];
imageToUpload.InputStream.Read(myData, 0, imageToUpload.ContentLength);
FileStream newFile = new FileStream(savePath, FileMode.Create);
newFile.Write(myData, 0, myData.Length);
newFile.Close();
}
从输入参数中可以看出,此方法与FileUpload控件一起使用。现在我在两个页面都使用这个方法,它们都有一个FileUpload控件。在一个页面上,图像上传文件,在另一个页面上,它会导致文件损坏。
我真的不知道为什么图像被破坏了。我使用相同的图像,相同的方法和相同的输入控件。
有什么办法可以调试吗?
答案 0 :(得分:2)
要窃取alexn的答案< _<
你过于复杂了。只需使用为您提供的内置FileUpload::SaveAs(save_path)即可。
您可以使用Server.MapPath()
方法来帮助您获取根目录的动态路径,从那里开始并将文件名附加到其上。
不确定为什么你会收到这个错误。我最好的猜测是你的savePath
被破坏了(或者附加了文件名/扩展名),或者字节没有被完美地读/写..无论如何,你不应该通过使用方法我得到那个错误描述(考虑到你没有弄乱文件扩展名:)。