如何确定我服务器上的上传文件是否为pdf?

时间:2012-11-16 11:08:45

标签: c# asp.net pdf

我需要确定我服务器上的上传文件是否为pdf?

3 个答案:

答案 0 :(得分:2)

首先,检查文件的扩展名:) 你应该检查this answer

  
      
  1. 您可能只是尝试使用其中一个库加载PDF文件。 iTextSharp将是一个不错的选择。
  2.   
  3. 根据PDF参考文件,PDF文件的标题通常为%PDF-1.X(其中X为数字,目前为0到7)。
  4.         

    E.g。标题可能出现在文件的前1024个字节内的某个位置,或者格式为%!PS-Adobe-N.n PDF-M.m

答案 1 :(得分:2)

您可以检查服务器端的文件类型:

if (string.Equals(fileExt, ".pdf", StringComparison.OrdinalIgnoreCase)) {...}

这抵消了诸如“pdf2”等的输入

答案 2 :(得分:1)

检查文件扩展名是否为.pdf

您可以使用以下代码在上传过程中执行此操作:

<asp:CustomValidator ID="pdfUpload" runat="server" ClientValidationFunction="ValidateFilePDF"
      ErrorMessage="Please select valid pdf document"></asp:CustomValidator>

function ValidateFilePDF(Source, args) {
    var fuData = document.getElementById('<%= yourFileUploadInputBoxID.ClientID %>');
    var FileUploadPath = fuData.value;

    if (FileUploadPath == '') {

       args.IsValid = false;
    }
    else {
       var Extension = FileUploadPath.substring(FileUploadPath.lastIndexOf('.') + 1).toLowerCase();

       if (Extension == "pdf" {
           args.IsValid = true; 
       }
       else {
           args.IsValid = false;
       }
    }
 }