0


API apicontrollerからクライアント側でファイルをダウンロードしたい:

     public HttpResponseMessage PostOfficeSupplies()
     {
        string csv = string.Format ("D:\\Others\\Images/file.png");
        HttpResponseMessage result = new HttpResponseMessage(HttpStatusCode.OK);
        result.Content = new StringContent(csv);
        result.Content.Headers.ContentType = new MediaTypeHeaderValue     ("application/octet-stream");

        result.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment");
        result.Content.Headers.ContentDisposition.FileName = "file.png";
        return result;    
    }

1.APIコントローラーからjquery(octet-stream)を使用してダウンロードをポップアップするにはどうすればよいですか?

     my client side code:
     $(document).ready(function () {
            $.ajax(
            {
                url: 'api/MyAPI'
            , type: "post"
            , contentType: "application/octet-stream"
            , data: ''
            , success:
            function (retData) {
                $("body").append("<iframe src='" + retData + "' style='display: none;' ></iframe>");
                               }

            });


});

しかし、それはうまくいきませんでした!

4

1 に答える 1

0

次のコードを変更します

result.Content = new StringContent(csv);

これに:

result.Content = new StreamContent(File.OpenRead("D:\\Others\\Images\\file.png"));
于 2012-11-28T07:34:47.813 に答える