//.aspx后台代码
string strDocExt;//获取文件后缀名
string strDocType;
int intDocLen;
Stream objStream;
SqlConnection conn;
SqlCommand cmd;
if(IsValid)
{
if(txtFileContents.PostedFile !=null)
{
int pos = txtFileContents.PostedFile.FileName.LastIndexOf(".");
strDocExt = txtFileContents.PostedFile.FileName.Substring (pos,txtFileContents.PostedFile.FileName.Length-pos).ToLower();//取文件后缀名switch(strDocExt)
{
case ".doc":
strDocType="doc";break;
case ".ppt":
strDocType="ppt";break;
default:
strDocType="txt";break;
}
intDocLen = txtFileContents.PostedFile.ContentLength;
byte [] Docbuffer = new byte[intDocLen];//
objStream = txtFileContents.PostedFile.InputStream;
objStream.Read(Docbuffer,0,intDocLen);//读入缓存中
conn = new SqlConnection("connStr");
cmd= new SqlCommand("usp_Resource",conn);cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@Resource_Title",SqlDbType.NVarChar,200);
cmd.Parameters.Add("@Resource",SqlDbType.Image);
cmd.Parameters.Add("@Resource_Type",SqlDbType.NVarChar,50);
cmd.Parameters[0].Value = txtTitle.Text;
cmd.Parameters[1].Value = Docbuffer;
cmd.Parameters[2].Value = strDocType;
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
}
}//存储过程代码
create Procedure dbo.usp_Resource @Resource_Title nvarchar(200),
@Resource Image,
@Resource_Type nvarchar(50)AS
insert into Resource(Resource_Title,Resource,Resource_Type)
Values(@Resource_Title,@Resource,@Resource_Type)
GO
string strDocExt;//获取文件后缀名
string strDocType;
int intDocLen;
Stream objStream;
SqlConnection conn;
SqlCommand cmd;
if(IsValid)
{
if(txtFileContents.PostedFile !=null)
{
int pos = txtFileContents.PostedFile.FileName.LastIndexOf(".");
strDocExt = txtFileContents.PostedFile.FileName.Substring (pos,txtFileContents.PostedFile.FileName.Length-pos).ToLower();//取文件后缀名switch(strDocExt)
{
case ".doc":
strDocType="doc";break;
case ".ppt":
strDocType="ppt";break;
default:
strDocType="txt";break;
}
intDocLen = txtFileContents.PostedFile.ContentLength;
byte [] Docbuffer = new byte[intDocLen];//
objStream = txtFileContents.PostedFile.InputStream;
objStream.Read(Docbuffer,0,intDocLen);//读入缓存中
conn = new SqlConnection("connStr");
cmd= new SqlCommand("usp_Resource",conn);cmd.CommandType = CommandType.StoredProcedure;
cmd.Parameters.Add("@Resource_Title",SqlDbType.NVarChar,200);
cmd.Parameters.Add("@Resource",SqlDbType.Image);
cmd.Parameters.Add("@Resource_Type",SqlDbType.NVarChar,50);
cmd.Parameters[0].Value = txtTitle.Text;
cmd.Parameters[1].Value = Docbuffer;
cmd.Parameters[2].Value = strDocType;
conn.Open();
cmd.ExecuteNonQuery();
conn.Close();
}
}//存储过程代码
create Procedure dbo.usp_Resource @Resource_Title nvarchar(200),
@Resource Image,
@Resource_Type nvarchar(50)AS
insert into Resource(Resource_Title,Resource,Resource_Type)
Values(@Resource_Title,@Resource,@Resource_Type)
GO
1:看看前端页面form 里 enctype="multipart/form-data"是不是写上了。
2:<input type=file name="file1">,一定要有name 属性,否则后台得不到上传文件,不过你用的好象是html控件,可以试试看。
<%@ Page language="c#" Codebehind="upload_re.aspx.cs" AutoEventWireup="false" Inherits="WiteFile.upload_re" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>upload_re</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 MS_POSITIONING="GridLayout">
<form id="Form1" method="post" encType="multipart/form-data" runat="server">
<span>标题</span><br>
<asp:textbox id="txtTitle" style="Z-INDEX: 101; LEFT: 56px; POSITION: absolute; TOP: 8px" runat="server"
Width="184px" Height="23px" EnableViewState="False"></asp:textbox><asp:requiredfieldvalidator id="valrTitle" ControlToValidate="txtTitle" ErrorMessage="*Required" Runat="server">*Requried</asp:requiredfieldvalidator><br>
<br>
<span>上传原文件</span><br>
<input id="txtFileContents" type="file" name="txtFileContents" runat="server">
<br>
<br>
<asp:button id="btnSubmit" Runat="server" Text="确定"></asp:button></form>
</body>
</HTML>
好像是缓存有问题。我怎样能确定缓存中是否有数据?