我上传文件时为什么会显示PostedFile为null
我用的控件是
<INPUT id="hifSendDoc" style="Z-INDEX: 103; LEFT: 187px; WIDTH: 262px; POSITION: absolute; TOP: 72px; HEIGHT: 22px" type="file" size="24" runat="server" >
我选择了文件按上传后,跟踪到hifSendDoc.PostedFile为null,但我确实是选择了要上传的文件啊。
我是在.net 2002下出现了这样的问题,但在2003下我这样用没有一点问题。
请各位大虾帮忙。
我用的控件是
<INPUT id="hifSendDoc" style="Z-INDEX: 103; LEFT: 187px; WIDTH: 262px; POSITION: absolute; TOP: 72px; HEIGHT: 22px" type="file" size="24" runat="server" >
我选择了文件按上传后,跟踪到hifSendDoc.PostedFile为null,但我确实是选择了要上传的文件啊。
我是在.net 2002下出现了这样的问题,但在2003下我这样用没有一点问题。
请各位大虾帮忙。
<%@ Page language="c#" Codebehind="ImportProjectData.aspx.cs" AutoEventWireup="false" Inherits="RMQM.KnowledgeManage.ImportProjectData" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>ImportPSData</title>
<meta content="Microsoft Visual Studio .NET 7.1" name="GENERATOR">
<meta content="C#" name="CODE_LANGUAGE">
<meta content="JavaScript" name="vs_defaultClientScript">
<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
</HEAD>
<body topMargin="0" ms_positioning="GridLayout">
<FORM id="Form1" method="post" runat="server">
<INPUT class="btn3" id="bnImport" type="button" value="导 入" name="Button1" runat="server" style="Z-INDEX: 101; LEFT: 188px; POSITION: absolute; TOP: 114px">
<INPUT class="btn3" id="bn_back" type="button" value="返 回" name="Button1" runat="server" style="Z-INDEX: 102; LEFT: 380px; POSITION: absolute; TOP: 116px">
<INPUT id="hifSendDoc" style="Z-INDEX: 103; LEFT: 187px; WIDTH: 262px; POSITION: absolute; TOP: 72px; HEIGHT: 22px" type="file" size="24" runat="server">
</FORM>
</body>
</HTML>C#代码:
using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.IO;
using System.Data.OleDb;
using Microsoft.Data.Odbc;namespace RMQM.KnowledgeManage
{
/// <summary>
/// ImportPSData 的摘要说明。
/// </summary>
public class ImportProjectData : System.Web.UI.Page
{
protected System.Web.UI.HtmlControls.HtmlInputButton bnImport;
protected System.Web.UI.HtmlControls.HtmlInputFile hifSendDoc;
protected System.Web.UI.HtmlControls.HtmlInputButton bn_back;
#region Web 窗体设计器生成的代码
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
//
InitializeComponent();
base.OnInit(e);
}
/// <summary>
/// 设计器支持所需的方法 - 不要使用代码编辑器修改
/// 此方法的内容。
/// </summary>
private void InitializeComponent()
{
this.bnImport.ServerClick += new System.EventHandler(this.bnImport_ServerClick); }
#endregion private void bnImport_ServerClick(object sender, System.EventArgs e)
{
//上传文件
string SavePath,FileName,FileType,types = ".xls";
double Size;
string sPath=System.Configuration.ConfigurationSettings.AppSettings["ImportDir"].ToString();
//string sPath=@"c:\";
SavePath = Server.MapPath(sPath);
//FileName = System.IO.Path.GetFileName(this.hifSendDoc.PostedFile.FileName);
FileName = System.IO.Path.GetFileName(this.hifSendDoc.Value);
if(FileName.TrimEnd() == "")
{
Response.Write("<script>alert('请先选择要导入的文件!!')</script>");
return;
}
Size = this.hifSendDoc.PostedFile.ContentLength;
Size = Math.Round(Size/1024,2);
int pos = FileName.LastIndexOf(".");
FileType = FileName.Substring(pos).ToLower();
if(types.IndexOf(FileType) == -1)
{
Response.Write("<script>alert('您上传的文件格式不正确,必须是Excel文档!')</script>");
return;
}
FileName = System.DateTime .Today.Year.ToString()+System.DateTime .Today.Month.ToString()+System.DateTime .Today.Day.ToString()+System.DateTime .Today.Hour.ToString ()+System.DateTime .Today.Minute.ToString()+ ".xls";
try
{
FileName = SavePath + FileName;
this.hifSendDoc.PostedFile.SaveAs(FileName);
}
catch(Exception er)
{
er.ToString ();
Response.Write("<script>alert('文件上传失败!')</script>");
//this.lbMessage.Value ="";
return;
}
}
}
参考:
http://dotnet.aspx.cc/ShowDetail.aspx?id=58EA3515-36F2-4FD9-AC89-EAF49F59816C
<INPUT id="hifSendDoc" style="Z-INDEX: 103; LEFT: 187px; WIDTH: 262px; POSITION: absolute; TOP: 72px; HEIGHT: 22px" type="file" size="24" runat="server">
千万不能加:enctype="multipart/form-data"