求助:FileUpLoad上传文件到服务器的数据库,读取文件路径出错
求助:
上传文件时候出现找不到文件异常,上传代码如下:
protected void GridView3_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
FileUpload fud = (FileUpload)GridView3.Rows[e.RowIndex].FindControl("FileUpload");
Session["FileID"] = GridView3.DataKeys[e.RowIndex].Values[0].ToString();
if (fud.HasFile)
{
string FileID = Session["FileID"].ToString();
constring ha = new constring();
SqlConnection con = new SqlConnection(ha.constr);
con.Open();
//得到提交的文件
Stream fileDataStream = fud.PostedFile.InputStream;
//创建数组
byte[] myData = new byte[fud.PostedFile.ContentLength];
//把文件流填充到数组
fileDataStream.Read(myData, 0, fud.PostedFile.ContentLength);
// 关闭数据流
//fileDataStream.Close();
//得到文件名称
string FileName = fud.FileName;
// string FileName = fud.PostedFile.FileName;
//得到文件类型
string FileType = fud.PostedFile.ContentType;
//根据filename得出文本内容change
filesore2change cg = new filesore2change();
string change = cg.tochange(FileName);
FileName = Path.GetFileName(FileName);
//储存文件
SqlDataAdapter sqlDataAdapter = new SqlDataAdapter("Select * from Kn_Train where FileID='" + FileID + "'", con);
SqlCommandBuilder sqlCommandBuilder = new SqlCommandBuilder(sqlDataAdapter);
DataSet dataSet = new DataSet("train");
sqlDataAdapter.Fill(dataSet, "train");
//System.Data.DataRow dataRow = dataSet.Tables["asset"].NewRow();
dataSet.Tables["train"].Rows[0]["FileName"] = FileName;
dataSet.Tables["train"].Rows[0]["FileType"] = fud.PostedFile.ContentType;
dataSet.Tables["train"].Rows[0]["FileSave"] = myData;
dataSet.Tables["train"].Rows[0]["Change"] = change;
//dataRow["FileLength"]=UploadFile.PostedFile.ContentLength;
//dataSet.Tables["asset"].Rows.Add(dataRow);
sqlDataAdapter.Update(dataSet, "train");
GridView3.EditIndex = -1;
AddKenTrain(TextBox1.Text);
}