上传后图片损坏

时间:2012-06-08 22:07:17

标签: c# asp.net file-upload

我的图像保存方法存在一个非常奇怪的问题。首先,这是方法:

        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控件。在一个页面上,图像上传文件,在另一个页面上,它会导致文件损坏。

我真的不知道为什么图像被破坏了。我使用相同的图像,相同的方法和相同的输入控件。

有什么办法可以调试吗?

1 个答案:

答案 0 :(得分:2)

要窃取alexn的答案< _<

你过于复杂了。只需使用为您提供的内置FileUpload::SaveAs(save_path)即可。

您可以使用Server.MapPath()方法来帮助您获取根目录的动态路径,从那里开始并将文件名附加到其上。
不确定为什么你会收到这个错误。我最好的猜测是你的savePath被破坏了(或者附加了文件名/扩展名),或者字节没有被完美地读/写..无论如何,你不应该通过使用方法我得到那个错误描述(考虑到你没有弄乱文件扩展名:)。