基本上我需要从需要 Windows 身份验证的位置提供文件。当然,我不想让我的客户直接处理它,而是想实现一个流程,以便他们可以像在我的服务器上一样简单地下载文件,当然,在他们登录到我的系统之后。这是我到目前为止所拥有的,它似乎无法正常工作:
// Create the request
WebRequest request = HttpWebRequest.Create(button.CommandArgument);
request.Credentials = new NetworkCredential(_username,_password);
// Get the response
WebResponse response = request.GetResponse();
StreamReader responseStream = new StreamReader( response.GetResponseStream());
// Send the response directly to output
Response.ContentEncoding = responseStream.CurrentEncoding;
Response.ContentType = request.ContentType;
Response.Write(responseStream.ReadToEnd());
Response.End();
当我尝试这个时,我可以查看文件,但是编码或内容类型有问题,例如,PDF 将包含 16 个空白页(而不是 16 页文本)。
知道我错过了什么吗?
如果有更好的方式来表达这个问题,请随意更改这个问题的标题
更新: 尝试了下面的两个响应,但没有运气。我现在认为内容类型和编码都可以,但可能身份验证失败?内容长度比实际应该小很多......我是否使用了错误的 Windows 身份验证方法?