Ni *_* Ru 3 c# asp.net file-upload
我必须使用该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";
}
Run Code Online (Sandbox Code Playgroud)
您应该重新构建代码,以便它可以准确地告诉您上传的错误.像这样的东西:
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.";
}
Run Code Online (Sandbox Code Playgroud)
我的猜测是浏览器没有提供正确的内容/类型.尝试上面的代码并告诉我们您收到的消息.