Files
Nuvolar/Nuvolar.Web.Company/GetAttachments.ashx.vb
2017-03-08 11:21:27 +01:00

51 lines
1.9 KiB
VB.net

Imports Nuvolar.Module
Imports DevExpress.Persistent.BaseImpl
Imports DevExpress.Data.Filtering
Imports System.IO
Imports DevExpress.Web.Internal
Public Class GetAttachments
Implements System.Web.IHttpHandler
Private _Session As DevExpress.Xpo.Session
Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest
Dim _Oid As String
Dim _ConnectionString As String
Dim _Attachment As FileData
Dim _MemoryStream64 As String
_Oid = context.Request.QueryString("id")
_MemoryStream64 = context.Request.QueryString("ms")
If _Oid <> "" Then
_ConnectionString = ConfigurationManager.ConnectionStrings("ConnectionString").ToString
_Session = New DevExpress.Xpo.Session
_Session.ConnectionString = _ConnectionString
_Session.AutoCreateOption = AutoCreateOption.SchemaAlreadyExists
_Session.Connect()
If _Session.IsConnected Then
_Attachment = _Session.FindObject(Of FileData)(CriteriaOperator.Parse("Oid=?", _Oid))
If _Attachment IsNot Nothing Then
Dim _Stream As New MemoryStream
_Attachment.SaveToStream(_Stream)
HttpUtils.WriteFileToResponse(Nothing, _Stream, _Attachment.FileName, True, "")
End If
End If
End If
If _MemoryStream64 = "1" Then
If GLOBAL_Download_MemoryStream IsNot Nothing Then
GLOBAL_Download_MemoryStream.Position = 0
HttpUtils.WriteFileToResponse(Nothing, GLOBAL_Download_MemoryStream, GLOBAL_Download_FileName, True, GLOBAL_Download_FileExtension)
End If
End If
End Sub
ReadOnly Property IsReusable() As Boolean Implements IHttpHandler.IsReusable
Get
Return False
End Get
End Property
End Class