Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / открытие файла до загрузки его на клиент / 5 сообщений из 5, страница 1 из 1
17.05.2006, 10:50
    #33731806
andrew_zak
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
открытие файла до загрузки его на клиент
Доброе время суток!
Есть такая задачка - может кто стыкался. Некая програма на АСП.НЕТ генерит отчет в формате pdf и выкидывает его клиенту (IE + Adode Reader) Response.Redirect("file.pdf"). Размер файла - 126 кб. С етой програмой работают люди, которые доступаются по полхим каналам связи, возникает такая проблема - ИЕ пробует открыть файл до того как тот успеет упасть в кеш, соответственно, не видит EOF (end of file) в результате чего - получяется ошибка
Error in File C:\Inetpub\wwwroot\Report\DebZP.rpt: Failed to open a rowset.
фреймворк 1,1, студия 2003, клиенты с осёй ХР СП2
-----------------------------------------------------
Все знают, что реализация некоей идеи невозможна, но вот находится человек, который этого не знает, и у него все получается! (Эйнштейн о том, как делаются открытия)
...
Рейтинг: 0 / 0
17.05.2006, 12:05
    #33732158
Alex Kuznetsov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
открытие файла до загрузки его на клиент
Код в студию, пожалуйста.
________________________________________________________
Всегда есть куда развиваться, нужно просто этого хотеть.
...
Рейтинг: 0 / 0
18.05.2006, 14:56
    #33735867
andrew_zak
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
открытие файла до загрузки его на клиент
Формирование и выдача отчёта клиенту (привожу онклик кнопеля как есть)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
        Dim myExportOption As CrystalDecisions.Shared.ExportOptions
        Dim myDiskFileOption As CrystalDecisions.Shared.DiskFileDestinationOptions
        Dim myExportFile As String
        Dim myReport As New CrystalDecisions.CrystalReports.Engine.ReportDocument
        Dim rptLogInfo As New CrystalDecisions.Shared.TableLogOnInfo

        Dim p As New CrystalDecisions.Shared.ParameterValues
        Dim cP As New CrystalDecisions.Shared.ParameterDiscreteValue

        Try
            cP.Value = CInt(Request.QueryString( 1 ).Trim)
            p.Add(cP)
            rptLogInfo.ConnectionInfo.ServerName = System.Configuration.ConfigurationSettings.AppSettings.Get("DBSrv")
            rptLogInfo.ConnectionInfo.DatabaseName = System.Configuration.ConfigurationSettings.AppSettings.Get("DB")

            rptLogInfo.ConnectionInfo.UserID = user_login
            rptLogInfo.ConnectionInfo.Password = user_pass

            myReport.Load(Session("CardDBConnect").report.trim + c.ReportName)
            myReport.Database.Tables( 0 ).ApplyLogOnInfo(rptLogInfo)
            myExportFile = Session("CardDBConnect").tempDir & Session.SessionID.ToString & ".pdf"
            myDiskFileOption = New CrystalDecisions.Shared.DiskFileDestinationOptions
            myDiskFileOption.DiskFileName = myExportFile
            myExportOption = myReport.ExportOptions
            With myExportOption
                .DestinationOptions = myDiskFileOption
                .ExportDestinationType = CrystalDecisions.[Shared].ExportDestinationType.DiskFile
                .ExportFormatType = CrystalDecisions.[Shared].ExportFormatType.PortableDocFormat
            End With
            myReport.DataDefinition.ParameterFields("IDCard").ApplyCurrentValues(p)
            myReport.Export()

            Response.ClearContent()
            Response.ClearHeaders()
            Response.ContentType = "application/pdf"
            Response.WriteFile(myExportFile)
            Response.Flush()
            Response.Close()
            ''Response.Redirect(".\Temp\" + Session.SessionID.ToString + ".rtf")
            System.IO.File.Delete(myExportFile)
        Catch ex As Exception
            Response.Write("<FONT SIZE = 2 COLOR = red><B>Помилка.</br>" + ex.Message + "</B></FONT>")
        End Try
    End Sub

---------------------------------------
Все знают, что реализация некоей идеи невозможна, но вот находится человек, который этого не знает, и у него все получается! (Эйнштейн о том, как делаются открытия)
...
Рейтинг: 0 / 0
19.05.2006, 10:46
    #33737772
Alex Kuznetsov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
открытие файла до загрузки его на клиент
Ну так, батенька, зачем-же Вы файл-то удаляете?
Ведь, редирект посылается на клиента, и будет он пуслан после окончания обработки события нажатия кнопки, а пока всё это до клиента дойдёт - файлик то тю-тю - удалён.
Поэтому лучше провести удаление сего файла в момент закрытия сессии, т.е. отловить событие закрытия сессии и уже там почистить всё, что нужно.
________________________________________________________
Всегда есть куда развиваться, нужно просто этого хотеть.
...
Рейтинг: 0 / 0
29.05.2006, 10:30
    #33757507
andrew_zak
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
открытие файла до загрузки его на клиент
решил проблему. дело было не в удалении файла - там как раз всё гладко. решилась проблема апгрейдом рантайм-библиотек кристал-репортов с 8.5 на 9.2 -ю версию
------------------------------------------------
Все знают, что реализация некоей идеи невозможна, но вот находится человек, который этого не знает, и у него все получается! (Эйнштейн о том, как делаются открытия)
...
Рейтинг: 0 / 0
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / открытие файла до загрузки его на клиент / 5 сообщений из 5, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]