首页 > 代码库 > ASP.NET MVC file download sample
ASP.NET MVC file download sample
ylbtech- ASP.NET MVC:ASP.NET MVC file download sample |
功能描述:ASP.NET MVC file download sample
2,TechnologyAndTheEnvironment(技术与环境) |
操作系统: | windows | 开发语言: | C# |
开发框架: | ASP.NET MVC | 数据库: |
|
开发软件: | Microsoft Visual Studio 2010 | ||
开发技术 | ASP.NET MVC |
3,DatabaseDesign(数据库设计) |
4,FeatureScreenshots(功能截图) |
4.App_Data
/App_Data/download/testcert2.cer
/App_Data/download/testdata.zip
/App_Data/download/testfile.txt
/App_Data/download/XMLFile2.xml
4.Models
4.Views
/Views/File/List.aspx
<h2> All files available for download:</h2> <table style="width: 100%"> <thead> <td> FileName </td> <td> Size(bytes) </td> <td style="width: 40"> </td> </thead> <% var fileList = (List<System.IO.FileInfo>)Model; foreach (var file in fileList) { %> <tr> <td> <%= Html.ActionLink(file.Name,"Download",new {Action="Download", fn=file}) %> </td> <td> <%=file.Length %> </td> <td> <a href=‘<%= ResolveUrl("~/File/Download/"+ file.Name) %>‘> <img width="30" height="30" src=‘<%= ResolveUrl("~/images/download-icon.gif") %>‘ /> </a> </td> </tr> <%} %> </table>
4.Controllers
/Controllers/FileController.cs
/****************************** Module Header ******************************Module Name: FileController.csProject: CSASPNETMVCFileDownloadCopyright (c) Microsoft Corporation.This module contains the FileController class. FileController is the controller dedicated for file downloading functionality.For request to list file, FileController will call List Action to return the file list and display it via File/List viewFile request to download a certain file, FileController will call the Download action to return the stream of the requested file.This source is subject to the Microsoft Public License.See http://www.microsoft.com/opensource/licenses.mspx#Ms-PL.All other rights reserved.THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.\***************************************************************************/using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.Mvc;using System.Web.Mvc.Ajax;using System.IO;namespace CSASPNETMVCFileDownload.Controllers{ public class FileController : Controller { // Action for list all the files in "~/App_Data/download" directory public ActionResult List() { // Retrieve the file list. DirectoryInfo dir = new DirectoryInfo(Server.MapPath("~/App_Data/download/")); // Filter it via LINQ to Object. var files = from f in dir.GetFiles("*.*", SearchOption.TopDirectoryOnly) where f.Extension != "exe" select f; // Call the corresponding View. return View(files.ToList()); } // Action for returning the binary stream of a specified file. public ActionResult Download(string fn) { // Check whether the requested file is valid. string pfn = Server.MapPath("~/App_Data/download/" + fn); if (!System.IO.File.Exists(pfn)) { throw new ArgumentException("Invalid file name or file not exists!"); } // Use BinaryContentResult to encapsulate the file content and return it. return new BinaryContentResult() { FileName = fn, ContentType = "application/octet-stream", Content = System.IO.File.ReadAllBytes(pfn) }; } }}
6,Sample|Explain FreeDownload(示例|讲解案例下载) |
作者:ylbtech 出处:http://ylbtech.cnblogs.com/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。 |
ASP.NET MVC file download sample
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。