加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 如何上传pdf文件?

发布时间:2020-12-16 00:01:34 所属栏目:百科 来源:网络整理
导读:我必须使用FileUpload控件在Web应用程序中上传.pdf文件.我试过这段代码,但它有一些问题.谁能帮我这个? protected void Button1_Click(object sender,EventArgs e) { if (FileUpload1.HasFile) { if (FileUpload1.PostedFile.ContentType == ".pdf") { strin
我必须使用FileUpload控件在Web应用程序中上传.pdf文件.我试过这段代码,但它有一些问题.谁能帮我这个?

protected void Button1_Click(object sender,EventArgs e)
 {
      if (FileUpload1.HasFile)
      {
           if (FileUpload1.PostedFile.ContentType == ".pdf")
           {
                string path = Server.MapPath(".") + "" + FileUpload1.FileName;
                FileUpload1.PostedFile.SaveAs(path);
                Label6.Text = "File Uploaded Successfully...";
                StreamReader reader = new StreamReader(FileUpload1.FileContent);
                string text = reader.ReadToEnd();
           }
           else
                Label6.Text = "Upload .pdf File";
      }
      else
           Label6.Text = "Upload file";
 }

解决方法

您应该重新构建代码,以便它可以准确地告诉您上载的错误.像这样的东西:

protected void Button1_Click(object sender,EventArgs e)
 {
    Label6.Text = ProcessUploadedFile();
 }

 private string ProcessUploadedFile()
 {
    if(!FileUpload1.HasFile)
        return "You must select a valid file to upload.";

    if(FileUpload1.ContentLength == 0)
        return "You must select a non empty file to upload.";

    //As the input is external,always do case-insensitive comparison unless you actually care about the case.
    if(!FileUpload1.PostedFile.ContentType.Equals("application/pdf",StringComparison.OrdinalIgnoreCase))
        return "Only PDF files are supported. Uploaded File Type: " + FileUpload1.PostedFile.ContentType;

    //rest of the code to actually process file.

    return "File uploaded successfully.";
 }

我的猜测是浏览器没有提供正确的内容/类型.尝试上面的代码并告诉我们您收到的消息.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读