二进制文件流的下载

第一种方法:将二进制流直接转化下载

public FileStreamResult DownloadAttachment()

        {

   //获取数据库中文件的二进制数据

            byte[] file = (byte[])AttachmentContent;

            MemoryStream stream = new MemoryStream(file);

            return File(stream, "text/plain", attachment.AttachmentShowFileName); 

        }

第二种方法:将二进制流写入到文件中,之后再

public FileStreamResult DownloadAttachment()

        {

    //获取数据库中文件的二进制数据

            byte[] file = (byte[])AttachmentContent;

    //文件存放地址

            string NewPath =“ D://LedgerFile//P//" + DateTime.Now.Year.ToString() + "//" + DateTime.Now.Month.ToString() ;

            FileStream fileStream = null;

    //判断此地址是否存在,不存在的话创建

            if (!Directory.Exists(NewPath))

            {

                Directory.CreateDirectory(NewPath);

            }

    //将数据写入文件并下载

            System.IO.FileInfo fileInfo = new System.IO.FileInfo(NewPath + "//" + AttachmentShowFileName);

            fileStream = fileInfo.OpenWrite();

            fileStream.Write(file, 0, file.Length);

            fileStream.Close();

            return File(new FileStream(NewPath + "//" + AttachmentShowFileName, FileMode.Open), "text/plain", AttachmentShowFileName);

        }

你可能感兴趣的:(.NET)