【发布时间】:2010-07-12 03:54:34
【问题描述】:
我从 SQL 数据库(下面的代码)读取图像数据类型 blob 的方式存在问题。当我直接访问此页面时,此代码工作正常。 PDF 将打开并且工作正常。但是,当我尝试使用此页面下载文件并以编程方式将其保存到文件系统时,它会失败(500 服务器错误)并且我已经验证它是相同的 URL。
那么,我的问题是从数据库图像数据类型下载文件并将其保存到磁盘的最佳方法是什么?
PDF.aspx
<%@ Page Language="VB" %>
<%@ Import Namespace="System.Collections.Generic" %>
<script runat="server">
Protected Sub Page_PreInit(ByVal sender As Object, ByVal e As System.EventArgs)
Page.Theme = String.Empty ' disable theme
If (Request.ServerVariables("HTTP_USER_AGENT").IndexOf("MSIE") > 0) Then
Response.Cache.SetCacheability(HttpCacheability.Private)
Else
Response.Cache.SetCacheability(HttpCacheability.NoCache)
End If
End Sub
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
Dim interns As IEnumerable(Of InternMag.Intern) = InternMag.Intern.GetInternForPhotoOrResume(New Guid(Request.QueryString("studentid")))
For Each intern As InternMag.Intern In interns
Response.ContentType = intern.ResumeFileType
Response.AddHeader("Content-Disposition", "attachment; filename=""Resume" & intern.ResumeFileExtension & """")
Response.BinaryWrite(CType(intern.ResumeFile.ToArray(), Byte()))
Next
End Sub
</script>
【问题讨论】:
标签: sql-server vb.net linq-to-sql file-io