我有一個AsyncFileUpload控制:如何使用AsyncFileUpload在asp.net中使用c#讀取文件內容?
<asp:AsyncFileUpload ID="venfileupld" runat="server" OnUploadedComplete="ProcessUpload" />
其OnUploadedComplete
事件我寫這段代碼:
protected void ProcessUpload(object sender, AjaxControlToolkit.AsyncFileUploadEventArgs e)
{
string name = venfileupld.FileName.ToString();
string filepath = "upload_excel/" + name;
venfileupld.SaveAs(Server.MapPath(name));
}
現在我要讀上傳文件的內容......我有一個函數對於那個:
public void writetodb(string filename)
{
string[] str;
string vcode = "";
string pswd = "";
string vname = "";
StreamReader sr = new StreamReader(filename);
string line="";
while ((line = sr.ReadLine()) != null)
{
str = line.Split(new char[] { ',' });
vcode = str[0];
pswd = str[1];
vname = str[2];
insertdataintosql(vcode, pswd, vname);
}
lblmsg4.Text = "Data Inserted Sucessfully";
}
現在我的查詢是,我怎麼能得到上傳的文件傳遞給這個函數?
UPDATE
我已經做到了這一點:
protected void ProcessUpload(object sender, AjaxControlToolkit.AsyncFileUploadEventArgs e)
{
string name = venfileupld.FileName.ToString();
string filepath = "upload_excel/" + name;
venfileupld.SaveAs(Server.MapPath(name));
string filename = System.IO.Path.GetFileName(e.FileName);
writetodb(filepath);
}
,但得到的錯誤...找不到文件
什麼問題,爲什麼你不能簡單地從'ProcessUpload'調用該方法? –
您可以訪問現在在服務器上的文件。你知道文檔在哪裏,因爲你自己的代碼中有'filepath'。 –
我打電話給我,但我得到錯誤..文件未找到 –