相关疑难解决方法(0)

从File.OpenRead()返回流

我正在编写一个允许ASP.Net网站检索文件的WCF服务(基于本文).我的问题是,当我返回流时,它是空白的.

为简单起见,我已将代码分离为一个简单的winforms应用程序,以尝试查找返回流的问题,这是代码:

    private Stream TestStream()
    {
        Stream fs = File.OpenRead(@"c:\testdocument.docx");
        return fs;
    }

    // This method converts the filestream into a byte array so that when it is 
    // used in my ASP.Net project the file can be sent using response.Write
    private void Test()
    {            
        System.IO.MemoryStream data = new System.IO.MemoryStream();
        System.IO.Stream str = TestStream();

        str.CopyTo(data);
        byte[] buf = new byte[data.Length];
        data.Read(buf, 0, buf.Length);                       
    }
Run Code Online (Sandbox Code Playgroud)

这段代码的结果buf是12,587字节长(文件的正确长度),但它只包含0.

如果我尝试它,Word文档会打开没有问题,我错过了一些明显的东西吗?

c# filestream

49
推荐指数
3
解决办法
15万
查看次数

读取GetResponseStream()的最佳方法是什么?

从GetResponseStream读取HTTP响应的最佳方法是什么?

目前我正在使用以下方法.

Using SReader As StreamReader = New StreamReader(HttpRes.GetResponseStream)
   SourceCode = SReader.ReadToEnd()
End Using
Run Code Online (Sandbox Code Playgroud)

我不太确定这是否是读取http响应的最有效方法.

我需要输出为字符串,我看过一篇文章有不同的方法,但我不是很好,如果它是一个很好的.在我的测试中,代码在不同的网站中存在一些编码问题.

你如何阅读网络回复?

.net http stream getresponsestream

23
推荐指数
4
解决办法
7万
查看次数

跟踪HttpWebRequest和HttpWebResponse的进度

我正在使用发送HTTP请求的Sharefile API并获得各自的答案.它们是通过URL制作的,并始终使用相同的功能.这里是.

Private Function InvokeShareFileOperation(ByVal requestUrl As String) As JObject

    Dim request As HttpWebRequest = WebRequest.Create(requestUrl)
    Dim response As HttpWebResponse = request.GetResponse()

    Dim reader As StreamReader = New StreamReader(response.GetResponseStream())

    Dim json As String = reader.ReadToEnd()
    response.Close()
    Return JObject.Parse(json)

End Function
Run Code Online (Sandbox Code Playgroud)

由于某些操作有点长,我需要以某种方式跟踪他们正在进行的进度并且不知道如何进行.后来我打算使用这个进度并从中创建一个进度条.

(编辑)顺便说一句,这是占用大部分时间的第二个代码行(下面),即跟踪操作.

Dim response As HttpWebResponse = request.GetResponse()
Run Code Online (Sandbox Code Playgroud)

vb.net json httpresponse httprequest getjson

6
推荐指数
2
解决办法
2143
查看次数

如何在 Android 的 Unity 中将 System.IO.Stream 转换为纹理?

我正在 Unity 中构建一个客户端 Android 应用程序,当它从 AWS S3 服务器下载 jpg 时,结果会以 System.IO.Stream 的形式返回。

然而,我对 Mono 和 .Net 的了解有限,这意味着我正在努力弄清楚如何将这个 System.IO.Stream 数据块转换为 Unity 中的纹理,然后我可以将其设置在场景中的四边形上。

我在网上看到了一些有前途的代码示例,例如:var img = Bitmap.FromStream(stream); 据我所知,Unity for Android 不支持 System.Drawing.Bitmap - 有人有什么建议吗?

提前致谢!

(我用来从 AWS S3 下载的确切示例代码是 GetObject() 函数,可以在此处找到http://docs.aws.amazon.com/mobile/sdkforunity/developerguide/s3.html,但在其例如,他们使用 System.IO.StreamReader ,它仅适用于读取文本而不是图像的字节数据)

c# mono android amazon-s3 unity-game-engine

2
推荐指数
1
解决办法
3358
查看次数