如何仅上传pdf文件

时间:2011-11-29 11:03:15

标签: asp.net

我想上传pdf而不是doc文件如果我使用javascript代码它会接受doc文件 还

function CheckFile()
{
    var file = document.getElementById('FileUpload1');
    var len=file.value.length;
    var ext=file.value;
    if (file.value.length <= 0)
    {
        alert('Please select a file to import');
        document.getElementById('FileUpload1').focus();
        return false;
    }
    else if (ext.substr(len-3,len)!="pdf" )
    {
        alert("Please select a  pdf file ");
        return false;
    } 
} 

5 个答案:

答案 0 :(得分:2)

您可以随意使用JQuery或Javascript。

asp控件的示例:

<asp:FileUpload ID="PDFFiles" runat="server" CssClass="form-control" AllowMultiple="true"/>

准备好文件:

JQuery的:

$(document).ready(function () {
        $('#' + "<%=PDFFiles.ClientID%>").attr('accept', 'application/pdf');
    })

使用Javascript:

$(document).ready(function () {
        document.getElementById("<%=PDFFiles.ClientID %>").setAttribute('accept', 'application/pdf');
    })

答案 1 :(得分:1)

验证PDF文件没有完美的解决方案,但您可以做的是(在服务器端):

  1. 验证扩展程序(pdf,doc,docx)*几乎无用
  2. 验证 MIME
  3. 打开PDF文件,阅读标题(第一行)并检查其是否包含 其中一个字符串:%PDF-1.0,%PDF-1.1,%PDF-1.2,%PDF-1.3, %PDF-1.4
  4. 作为额外的我还检查文件是否包含    通过搜索多个来指定页数的字符串    “的 /页

答案 2 :(得分:0)

您是否使用FileUploadControl执行实际上传?如果是这样,可以进行服务器端检查(re:@Prison @WestDiscGolf),例如:

if (fileUploadControl.PostedFile.ContentType.Contains("pdf"))
{
   //continue processing
}

Pdf MIME类型应该是'application / pdf',但你经常得到'x-pdf'。因此包含。

答案 3 :(得分:0)

您可以直接使用asp代码

<asp:FileUpload ID="FileUpload1" runat="server" Height="26px" accept=".pdf" /><br />
                    <asp:RequiredFieldValidator ID="RequiredFieldValidator4" ForeColor="Red" runat="server"
                        ValidationGroup="gr1" ControlToValidate="FileUpload1">pdf File Required</asp:RequiredFieldValidator>
                    <asp:RegularExpressionValidator ID="regval1" ForeColor="Red" runat="server" ValidationGroup="gr1"
                        ControlToValidate="FileUpload1" ValidationExpression="^([a-zA-Z].*|[1-9].*)\.(((p|P)(d|D)(f|F)))$">Only Accept pdf </asp:RegularExpressionValidator>

答案 4 :(得分:0)

这对我有用:

<asp:FileUpload ID="uploadPDF" ClientIDMode="static" runat="server" accept=".pdf" />