小编Bez*_*eel的帖子

FileStream to Byte []:Windows XP vs Windows 8

我最近不得不写一些代码:

  • UI采用文件(图像)
  • 转换为`byte []
  • 上传byte[]到网站(使用HttpWebRequest.ContentTypemultipart/form-data)
  • 然后网站读取流,使用我随文件发送的参数,将其存储byte[]在数据库中.

然后,此图像将用于报告中,用户可以随时下载图像.这工作正常,直到我们开始在Windows XP机器上测试它.每当我从XP电脑上传任何图像时,图像都不会显示.经过一些调试和测试并将其写入multipart/form-data文本文件后,我发现byte[]Windows XP与Windows 8(甚至7)的文件不同.生成的文件大小也不同.

我正在使用VS2012和.Net 4.0,并在XP电脑上安装(并再次修复).Net 4.我只能认为两个操作系统编码方式不同,或者可能是32位操作系统和64位操作系统之间的差异.显然我不知道出了什么问题,甚至不知道从哪里开始.我想知道是否有人可以指出我正确的方向?

这是UI端代码:

//Wrapped around each parameter. The last boundary after the byte[] file >has been omitted.
string boundary = "----------------------------" + >DateTime.Now.Ticks.ToString("x");

//Creating the httpWebRequest as multipart with "POST" method.
httpWebRequest = (HttpWebRequest)WebRequest.Create(_webUploadUrl);
httpWebRequest.ContentType = "multipart/form-data; boundary=" + boundary;
httpWebRequest.Method = "POST";
httpWebRequest.KeepAlive = true;
httpWebRequest.Credentials = >System.Net.CredentialCache.DefaultCredentials;

//Upload stream will be built with …
Run Code Online (Sandbox Code Playgroud)

c# windows-xp windows-8

11
推荐指数
1
解决办法
1023
查看次数

标签 统计

c# ×1

windows-8 ×1

windows-xp ×1