110,535
社区成员
发帖
与我相关
我的任务
分享
if (context.Request.Files.Count > 0)
{
foreach (HttpPostedFile file in context.Request.Files)
{
Image img = new Bitmap(file.InputStream);
img.Save("保存路径");
img.Dispose();
}
}
[/quote][/quote]
你这种方法是把输入流保存到文件里,不管POST的是字符串还是什么都会保存。
通过Form提交你要获取里面的文件就要通过 Request.Files来获取文件,因为提交的Form除了文件数据还包含了其他信息。
直接提交文件数据的就按照你的方法保存文件数据流。int vals = context.Request.TotalBytes;
byte[] buffer = context.Request.BinaryRead(vals);
string imgname = DateTime.Now.ToString("yyyyMMddhhmmss") + ".jpg";
string path = "/img/userupphoto/" + imgname;
FileStream fs = new FileStream(context.Server.MapPath(path), FileMode.Create, FileAccess.Write);
BinaryWriter bw = new BinaryWriter(fs);
bw.Write(buffer);
bw.Close();
fs.Close();
按照你说的这种情况,就是你把表单提交到了处理程序上,你要用context.Request.Files获取文件
代码应该这样写:
if (context.Request.Files.Count > 0)
{
foreach (HttpPostedFile file in context.Request.Files)
{
Image img = new Bitmap(file.InputStream);
img.Save("保存路径");
img.Dispose();
}
}
[/quote]
if (context.Request.Files.Count > 0)
{
foreach (HttpPostedFile file in context.Request.Files)
{
Image img = new Bitmap(file.InputStream);
img.Save("保存路径");
img.Dispose();
}
}