我有一个网站是一个图库所以基本上管理员可以上传一个图像,其中包含有关该图像的一些信息,它将在图库中显示,问题是当我上传一个大小为〜的图像时40 KB,它工作正常,但当我上传另一个大小为~230 KB的图像时,它看起来只需要处理此事,尽管铬底状态栏显示上传文件的百分比高达100%但之后它一直在等待我的服务器,它永远不会结束......上传的图像就像http://www.atrin-gallery.ir/Images/Upload/dalangV.jpg
我处理文件上传的代码如下:
if (Request != null)
{
try
{
HttpPostedFileBase file = Request.Files["image"];
if ((file != null) && (file.ContentLength > 0) && !string.IsNullOrEmpty(file.FileName))
{
string subPath = "~/Images/Upload"; // your code goes here
bool isExists = System.IO.Directory.Exists(Server.MapPath(subPath));
if (!isExists)
{
System.IO.Directory.CreateDirectory(Server.MapPath(subPath));
}
string fileName = Path.GetFileName(file.FileName);
fileName = fileName.Replace(" ", "");
var path = Path.Combine(Server.MapPath(subPath), fileName);
string fileContentType = file.ContentType;
byte[] fileBytes = new byte[file.ContentLength];
file.InputStream.Read(fileBytes, 0, file.ContentLength);
file.SaveAs(path);
}
}
catch (Exception e)
{
}
}
P.S:我在很多其他网站上一直使用相同的功能,他们只是处理更大的文件或图像,任何想法?
答案 0 :(得分:0)
从代码中删除以下行,并仅使用file.SaveAs(path);
保存文件。
string fileContentType = file.ContentType;
byte[] fileBytes = new byte[file.ContentLength];
file.InputStream.Read(fileBytes, 0, file.ContentLength);
您不需要阅读Stream
,如果您尝试使用Read
方法进行阅读,它将通过读取的字节数推进流中的位置。 (Stream.Read Method)。
谢谢!