在angularjs / html下载文件C#(前端应用程序)

时间:2016-10-19 16:52:11

标签: javascript c# angularjs asp.net-web-api

我想执行以下文件类型的下载操作。

1. .txt,.pdf,.xlsx,.jpg,.png,.xls

我的应用程序是Angularjs和WebApi

fron-end- angularjs
back-end - webapi

我通过指定文件路径的href属性创建了锚标记,如下所示

<a href="http://x.com/sample.txt" target="_self" download="xx">sample</a>

以上将下载该文件,它工作正常。我们也可以在webapi下载该文件。

在代码段下方执行webapi中的下载文件选项

public HttpResponseMessage DownLoadFile(string FileName, string fileType)  
        {  
            Byte[] bytes = null;  
            if (FileName != null)  
            {  
                string filePath = Path.GetFullPath(Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.InternetCache), FileName));  
                FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read);  
                BinaryReader br = new BinaryReader(fs);  
                bytes = br.ReadBytes((Int32)fs.Length);  
                br.Close();  
                fs.Close();  
            }  

            HttpResponseMessage result = new HttpResponseMessage(HttpStatusCode.OK);  
            System.IO.MemoryStream stream = new MemoryStream(bytes);  
            result.Content = new StreamContent(stream);  
            result.Content.Headers.ContentType = new MediaTypeHeaderValue(fileType);  
            result.Content.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment")  
            {  
                FileName = FileName  
            };  
            return (result);  
        }  

上面的代码段来自下面的链接

http://www.c-sharpcorner.com/uploadfile/1d3119/file-upload-and-download-using-html5-file-uploader-control-a851/

在webapplication中下载文件的最佳或首选方式是什么?

0 个答案:

没有答案