第一種:html
前臺html:
<form id="FormID" method="post" enctype="multipart/form-data" action="Handler/hdSkuControl.ashx?flag=UpLoad">
<input id="fileName" type="file" class="input-large" name="upfile" />
<input type="submit" value="上傳" />
</form>
注意點:
1)enctype="multipart/form-data" 必須要寫
2)input 控件必須要寫name,不然Request.Files[0] 會有報錯
後臺,用得一般處理程序
HttpPostedFile postedFile = context.Request.Files[0];
string fileName, fileExtension;
string filePath = context.Server.MapPath("~/Import/");
fileName = System.IO.Path.GetFileName(postedFile.FileName); //文件名稱
if (fileName != "")
{
fileExtension = System.IO.Path.GetExtension(fileName); //上傳文件的擴展名
string new_filename = DateTime.Now.ToString("yyyyMMddHHmmss") + fileExtension; //給文件重新命名
if (File.Exists(filePath + new_filename))
{
try
{
File.Delete(filePath + new_filename);
}
catch
{
return;
}
}
//postedFile.FileName: 客戶端文件地址
//postedFile.ContentType.ToString(): 上傳的文件類型
//保存文件到文件夾,地址是當前頁面的同一級目錄下的files文件夾中
postedFile.SaveAs(filePath + new_filename);}
二種:使用jquery ajaxSubmit
前臺:
<form id="FormID" method="post" enctype="multipart/form-data" action="Handler/hdSkuControl.ashx?flag=UpLoad">
<input id="fileName" type="file" class="input-large" name="upfile" />
</form>
注意點:
1)使用ajaxSubmit,需要引用jquery.form.js文件
2)與第一種方式前臺比較,沒有 submit 提交按鈕
前臺調用:
$(document).ready(function () {
var options = {
success: function (data) {//返回數據集 table,有特定格式,如要做特定的操作可查看ajaxSubmit 用法
rerfdata(data);
}
};
$("#FormID").ajaxSubmit(options);
});
後臺調用,第一種方法的後臺即可
第三種:ASP.NET 前臺導入
<div style=" margin-left: 30px">
<b>選擇上傳地址:</b><br />
<asp:FileUpload ID="FileUpload1" runat="server" Width="380px" />
<asp:Button ID="btnUpFile" runat="server" OnClick="btnUpFile_Click" Text="上傳文件" />
<asp:Button ID="btnSave" runat="server" OnClick="btnSave_Click" Text="導入" />
<br />
模板下載:<a href="templete/導入模板.xls">導入模板.xls</a><br />
<asp:Label ID="lblmsg" runat="server" Font-Size="Small" ForeColor="Red"></asp:Label>
</div>
</div>
後臺:
if (this.FileUpload1.HasFile == false)
{
lblmsg.Text = "請選擇導入文件.";
return;
}
//check file format
string origenFileName = FileUpload1.FileName;
string UpFileLastName = "";
if (origenFileName.Length >= 4 && origenFileName.Substring(origenFileName.Length - 4, 4) == ".xls" )
{
UpFileLastName = ".xls";
}
else if (origenFileName.Length >= 4 && origenFileName.Substring(origenFileName.Length - 5, 5) == ".xlsx")
{
UpFileLastName = ".xlsx";
}
else
{
lblmsg.Text = "請選擇正確的Excel文件.";
return;
}
string NewFileName = "SheetInput" + UpFileLastName;
string NewFullFileName = _FullFilePath + NewFileName;
string physicalPath = Server.MapPath(_FullFilePath);
try
{
if (Directory.Exists(physicalPath) == false)
{
Directory.CreateDirectory(physicalPath);
}
}
catch (Exception error)
{
lblmsg.Text = "創建文件夾失敗.\n錯誤信息:" + error.Message;
return;
}
FileNamePath = Server.MapPath(NewFullFileName);
if (File.Exists(FileNamePath))
{
try
{
File.Delete(FileNamePath);
}
catch (Exception error)
{
lblmsg.Text = "刪除文件失敗.\n錯誤信息:" + error.Message;
return;
}
}
try
{
FileUpload1.PostedFile.SaveAs(FileNamePath);
lblmsg.Text = "文件已上傳.";
DataSheetBind(FileNamePath);