इसके अंदर स्ट्रीमकंटेंट के साथ HttpResponseMessage को वापस करना बेहतर है।
यहाँ उदाहरण है:
public HttpResponseMessage GetFile(string id)
{
if (String.IsNullOrEmpty(id))
return Request.CreateResponse(HttpStatusCode.BadRequest);
string fileName;
string localFilePath;
int fileSize;
localFilePath = getFileFromID(id, out fileName, out fileSize);
HttpResponseMessage response = new HttpResponseMessage(HttpStatusCode.OK);
response.Content = new StreamContent(new FileStream(localFilePath, FileMode.Open, FileAccess.Read));
response.Content.Headers.ContentDisposition = new System.Net.Http.Headers.ContentDispositionHeaderValue("attachment");
response.Content.Headers.ContentDisposition.FileName = fileName;
response.Content.Headers.ContentType = new MediaTypeHeaderValue("application/pdf");
return response;
}
युपीडी द्वारा टिप्पणी से Patridge : चाहिए किसी और एक वास्तविक फ़ाइल के बजाय एक बाइट सरणी से एक प्रतिक्रिया से बाहर भेजने के लिए देख यहां मिलता है, आप StreamContent (देखें के बजाय नई ByteArrayContent (someData) का उपयोग करना चाहते करने जा रहे हैं यहाँ )।