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

を介してファイルの内容を返す必要があります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 に答える
1

に置き換えContentTypeてみてくださいapplication/octet-stream

于 2012-07-30T11:41:11.690 に答える