小编Aar*_*ten的帖子

直接从sql数据库在网页中显示pdf文件,无需将它们保存到服务器文件系统

我目前正在使用 html 嵌入标签来显示保存在本地服务器上的 pdf 文件。有没有办法在我的页面上显示 pdf 文件,而不必将其保存到服务器的本地文件系统?我只是想将它从控制器传递到视图,以便它可以在页面中显示为 pdf,而无需将其直接存储在文件系统上。

或者,有没有办法在用户离开他们正在查看的页面后调用从服务器删除 pdf 文件的方法?如何判断用户是否已离开该页面以及如何触发删除文件的方法?

c# sql embed pdf asp.net-mvc-3

5
推荐指数
1
解决办法
1万
查看次数

LINQ不提供用于存储文件的byte []数据类型

我正在尝试将文件存储在SQL Server数据库中,并使用ASP.NET MVC 3和C#中的LINQ to SQL.当我尝试将列的数据类型设置为byte []时,它表示这是一种无效的数据类型.使用vrabinary(MAX)数据类型似乎是合乎逻辑的事情.

目标是将PDF文件存储在用户选择使用HTTP文件上载器上载的数据库中.在分配LINQ成员变量期间发生错误,该变量引用要存储文件的列.

错误3无法将类型'System.Web.HttpPostedFileBase'隐式转换为'System.Data.Linq.Binary'C:\ Users\Aaron Patten\Documents\Visual Studio 2010\Projects\MyApp\MyApp\Controllers\MyController.cs 66 31 MyApp的

我没有发现其他人遇到这个问题的方式很多,所以我认为必须有一些我想念的东西,对于任何人来说都是太基础了.

我的控制器:

    public ActionResult UploadPDF()
    {
        List<ViewDataUploadFilesResult> r = new List<ViewDataUploadFilesResult>();

        HttpPostedFileBase hpf;// = Request.Files[file] as HttpPostedFileBase;

        foreach (string file in Request.Files)
        {
            hpf = Request.Files[file] as HttpPostedFileBase;
            if (hpf.ContentLength == 0)
                continue;
            string savedFileName = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "images\\" + Path.GetFileName(hpf.FileName));
            hpf.SaveAs(savedFileName);

            r.Add(new ViewDataUploadFilesResult()
            {
                Name = savedFileName,
                Length = hpf.ContentLength
            });
        }

        MyApp.Models.MyAppDataContext db = new MyApp.Models.MyAppDataContext();

        MyApp.Models.PDFFile myPDFFile = …
Run Code Online (Sandbox Code Playgroud)

c# asp.net linq-to-sql asp.net-mvc-3

0
推荐指数
1
解决办法
1250
查看次数

标签 统计

asp.net-mvc-3 ×2

c# ×2

asp.net ×1

embed ×1

linq-to-sql ×1

pdf ×1

sql ×1