为HTTP文件创建文件流

时间:2015-02-27 10:28:37

标签: c# .net filestream

我需要使用URL直接在服务器位置创建文件流。像

这样的东西
fs = new FileStream("http://SiteName.in/abc/xyz/pqr.pdf", FileMode.Create);

但它给了我这个例外:

  

不支持URI格式

我尝试了许多其他选项但没有提供令人满意的结果。

2 个答案:

答案 0 :(得分:1)

您无法创建HTTP请求的文件流。这不是班级和网络的运作方式。

使用WebClient.OpenWrite或直接WebClient.UploadString代替:

WebClient wc = new WebClient();
using (Stream s = wc.OpenWrite("url"))
{
    ...
}

当然,您的服务器应该支持POST请求。您还可以使用更多手动HttpWebRequest类。

答案 1 :(得分:1)

您只需将文件下载到Stream

public static Stream DownloadFile(string TargetFile)
{
    WebClient MyWebClient = new WebClient();
    byte[] BytesFile = MyWebClient.DownloadData(TargetFile);

    MemoryStream iStream = new MemoryStream(BytesFile);

    return iStream;
}