0
[WebMethod()]
    public void GetFileByDocumentNumber(string DocumentNumber)
    {
        string FilePath = GetFile(DocumentNumber);
        string FullPath = ConfigurationManager.AppSettings["FilePath"]  + FilePath;

        DownloadToBrowser(FullPath);

    }


    private void DownloadToBrowser(string filePath)
    {
        FileInfo file = new FileInfo(filePath);
        Context.Response.Clear();

        Context.Response.ClearHeaders();

        Context.Response.ClearContent();

        Context.Response.AddHeader("Content-Disposition", "attachment; filename=" + file.Name);

        Context.Response.AddHeader("Content-Length", file.Length.ToString());

        Context.Response.ContentType = "text/plain";

        Context.Response.Flush();

        Context.Response.TransmitFile(file.FullName);

        Context.Response.End();
    }

我将上面的代码用于我的 Web 服务,以便从服务器下载文件。它在本地机器上工作正常,但是当我在服务器上托管我的 Web 服务并尝试使用该服务时,它会出现以下错误

Client found response content type of 'text/plain', but expected 'text/xml'.

这个错误的原因是什么?

4

2 回答 2

1

尝试替换ContentTypeapplication/octet-stream.

于 2012-07-30T11:41:11.690 回答
1

您应该必须通过WebMethod.

[WebMethod()]
public string GetFileByDocumentNumber(string DocumentNumber)
{
   string FilePath = GetFile(DocumentNumber);
   string FullPath = ConfigurationManager.AppSettings["FilePath"]  + FilePath;
   return File.ReadAllText(FullPath);
}
于 2012-07-30T12:02:09.637 回答