如何查看pdf文件

时间:2016-01-12 13:21:08

标签: c# asp.net telerik

我使用telerik RadAsyncUpload(asp)保存文件:

<telerik:RadAsyncUpload runat="server" Localization-Select="select file" Localization-Remove="delete" 
                    Width="10px" ID="RadAsyncUpload1" MultipleFileSelection="Automatic" AllowedFileExtensions="jpg,jpeg,png,gif,pdf" 
                    ControlObjectsVisibility="None" EnableFileInputSkinning="true" />
在我做的代码中

byte[] bytes = null;

    if (RadAsyncUpload1 != null)
    {
        foreach (UploadedFile file in RadAsyncUpload1.UploadedFiles)
        {
            bytes = new byte[file.ContentLength];
            file.InputStream.Read(bytes, 0, file.ContentLength);
            WinPic.VisibleOnPageLoad = true;
            BinaryImage.DataValue = bytes;
        }
    }

并以列数据类型保存在sql中:varbinary(MAX)。

用于查看我使用的文件:

<telerik:RadBinaryImage runat="server" ID="BinaryImage" Width="600px" Height="600px" 
                ResizeMode="Fit" AutoAdjustImageControlSize="true" DecoratedControls="All" />

但我的问题是,当我查看文件类型pdf时,它不起作用。 我看到这样的图片:

enter image description here

希望你的帮助 坦克!

1 个答案:

答案 0 :(得分:1)

PDF is not a supported DataValue of RadBinaryImage

您还可以阅读该主题以获取有关如何显示PDF文件的其他解决方案。

我就是这样做的:

HttpContext.Current.Response.Clear();
HttpContext.Current.Response.AddHeader("Content-Type", "application/pdf");
HttpContext.Current.Response.AddHeader("Content-Disposition", "inline; filename=" + fileName + ".pdf");
HttpContext.Current.Response.BinaryWrite(bytes);
HttpContext.Current.Response.End();

与telerik线程中的内容类似,我打开一个新窗口并对字节数组进行二进制写入。