繁体   English   中英

从存储在Database MVC C#中的路径下载ZIP文件

[英]Download ZIP file From path stored in Database MVC C#

需要下载zip文件内容,路径存储在sqlserver中,我在控制器中使用FILERESULT Action方法。 我的控制器看起来像这样:

public FileResult Download(string id)
{
    string txtvalue = null; int cat = 0;

    string searchType = Session["type"].ToString();
    if (searchType == "name")
    {
        txtvalue = Session["item"].ToString();
    }
    else if (searchType == "cat")
    {
        cat = Convert.ToInt32(Session["item"]);
    }
    int fid =Convert.ToInt32(Session["Fid"]);
    var files = _urepo.GetprojectName(fid);
    string filename = (from f in files
                       select f.PRJ_LOCATION).SingleOrDefault();
    string contentType = "application/zip";

    return File(filename, contentType,"download"+filename);
}

但只有文件正在下载...内容没有下载..任何帮助将被apprciated

尝试这样的事情,首先你需要检查你是否从数据库中获取文件? 所以条件会帮助你,另一件事试图改变“内容类型”

if (filename != null)
 {
      contentType = "application/force-download";
      return File(filename, contentType, Path.GetFileName(filename));
 }

注意:我没有发布完整的代码,但唯一可能出错的地方。

我知道了 ,实际上正如CodeCaster所说, 内容在归档时丢失了 后来我用Ajax Call附加了数据。

public FileResult Download()
        {
            int Id = Convert.ToInt32(TempData["FileID"]);

            var files = _urepo.GetprojectName(Id);
            string filename = (from f in files
                               select f.PRJ_LOCATION).SingleOrDefault();
            string contentType = "application/zip";
           byte[] fileBytes = System.IO.File.ReadAllBytes(filename);

            string file=filename.Substring(filename.LastIndexOf("\\")+1);
             return File(fileBytes, contentType, file);
        }

谢谢你们。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM