我正在一个不使用大量 .net 框架的项目中工作,而是使用Request.Form
帖子。
用于保存图像的代码(这项工作,但质量下降)是这样的:
files[0].SaveAs(HttpContext.Current.Server.MapPath("../uploads/") + filename);
所以我试图改变这个,但现在它甚至不保存图像。(uploadStream.Read(buffer, 0, buffer.Length)
带有 0 的值。
string imagePath = HttpContext.Current.Server.MapPath("../uploads/") + filename;
using (BinaryReader uploadStream = new BinaryReader(files[0].InputStream))
{
using (FileStream fileStream = new FileStream(imagePath, FileMode.Create))
{
byte[] buffer = new byte[32768];
int read;
while ((read = uploadStream.Read(buffer, 0, buffer.Length)) > 0)
{
fileStream.Write(buffer, 0, read);
}
}
}
我根据图像上传的问题/答案构建了这段代码,而不会损失质量。我.net 4.0
在应用程序上使用。
还有另一种方法,或者我正在做的是正确的方法,我只是错过了一些东西?PS:我没有收到任何错误,并且在数据库中,我保存了正确的信息,但我没有在文件夹中获取文件。上传到该文件夹有效,因为它适用于该SaveAs()
方法。
PS:我可能是错的,关于 SaveAs 是图像质量下降的原因,但files[0]
来自于HttpFileCollection
和上传仅存在。