c#如何从request.binaryread写一个jpg图像

时间:2011-07-16 06:17:41

标签: c# asp.net image request jpeg

我有一个Flash应用程序,它将jpg图像的原始数据发送到特定的URL Send.aspx。在Send.aspx中,我使用request.binaryread()来获取总请求长度,然后将数据读入字节数组。 然后我将数据作为jpg文件写入服务器。代码如下:

FileStream f = File.Create(Server.MapPath("~") + "/plugins/handwrite/uploads/" + filename);
            byte[] data = Request.BinaryRead(Request.TotalBytes);

            f.Write(data, 0, data.Length);

            f.Close();

文件已创建,但其中没有图像。它总是在任何图形查看器中显示为空。我错过了什么部分。在将其写入文件之前,我是否应该首先使用jpg编码?提前致谢

1 个答案:

答案 0 :(得分:0)

好吧,你应该为你的文件流使用using语句,但除此之外我觉得没问题。

关于如何进行的一些建议......

客户端是否可能无法正确提供数据?也许它将它作为base64编码数据提供?

您是否已经从请求正文中读取了一些数据? (这可能搞砸了。)

我建议您仔细查看最终保存的内容与原始文件的对比:

  • 它们的长度是一样的吗?如果没有,哪个更长?
  • 如果它们的长度相同,那么它们的MD5总和是否匹配?
  • 如果您在二进制文件编辑器中查看它们,它们是否匹配?有任何明显的差异吗?