asp.net 实现简单的文件上传和下载 文件上传,并存入数据库,然后显示,单击显示的结果则下载指定的文件。比如上传了一个文件 aaa ,然后在显示的结果中单击 aaa 则实现下载 文件aaa的功能。鄙人是新手,所以请尽量写的简单一点 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 FileInfo Fi = new FileInfo(filePath);if (Fi.Exists){ FileStream fs = new FileStream(filePath, FileMode.Open); byte[] bytes = new byte[(int)fs.Length]; fs.Read(bytes, 0, bytes.Length); fs.Close(); Response.ContentType = "application/octet-stream"; Response.AddHeader("Content-Disposition", "attachment; filename=1.excel"); Response.BinaryWrite(bytes); Response.Flush(); Response.End();}string path = Server.MapPath("~/") + "";Response.AppendHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(obj.Name, System.Text.Encoding.GetEncoding("utf-8")));Response.ContentType = "application/octet-stream";Response.WriteFile("" + path + "");Response.End();if (fileUpload.HasFile) { string savePath = Server.MapPath("~/upload/"); if(!System.IO.Directory.Exists(savePath)) { System.IO.Directory.CreateDirectory(savePath); } savePath = savePath + "\\" + fileUpload.FileName; fileUpload.SaveAs(savePath); } 参考:http://topic.csdn.net/u/20090819/15/cf431ac6-3bb9-4e22-9974-8ef4b7269d28.html 您的回复正文中有非法词或词组!http://download.csdn.net/source/933390 fileUpload.SaveAs(savePath);//上传Response.ContentType = "application/octet-stream"; Response.AddHeader("Content-Disposition", "attachment;filename=" + 文件名称); response.WriteFile(Filepath);//下载 把地址存在数据库里面。。下载直接格URL地址 参考:http://topic.csdn.net/u/20090819/15/cf431ac6-3bb9-4e22-9974-8ef4b7269d28.html就是拉几个控件写点烂代码,然后就O了. --这是Js,验证格式(我这是'xls',‘xlsx')格式的)<script type="text/javascript"> function checkFileExtension(elem) { var filePath = elem.value; if(filePath.indexOf('.') == -1) return false; var validExtensions = new Array(); var ext = filePath.substring(filePath.lastIndexOf('.') + 1).toLowerCase(); validExtensions[0] = 'xls'; validExtensions[1] = 'xlsx'; for(var i = 0; i < validExtensions.length; i++) { if(ext == validExtensions[i]) return true; } alert('后缀为:( ' + ext.toUpperCase() + ')的文件格式 无法导入!'); return false; } </script>--后台 /// <summary> /// 上传 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void btnSubmit_Click(object sender, EventArgs e) { if (FileUpload1.HasFile) { string loadPath =Server.MapPath("../")+ ConfigurationSettings.AppSettings["ExcelFolder"]; string fileName = Server.HtmlEncode(FileUpload1.FileName); if (!System.IO.Directory.Exists(loadPath)) { System.IO.Directory.CreateDirectory(loadPath); } string Extension = System.IO.Path.GetExtension(FileUpload1.PostedFile.FileName); if (".xls.xlsx".ToUpper().IndexOf(Extension.ToUpper()) < 0) { DisplayAlert("文件格式不正确!请选择(.xls.xlsx)格式的文件上传!"); return; } Import_CounteractBLL bll = new Import_CounteractBLL(); string filepath=loadPath + string.Format("{0}{1}", Guid.NewGuid().ToString(), Extension); try { if (System.IO.File.Exists(filepath)) { System.IO.File.Delete(filepath); } FileUpload1.SaveAs(filepath); DataTable dt = bll.LoadUpByExcel(filepath);//bll.LoadExcelData(0, path, 2, 1); List<string> list = new List<string>(); foreach (DataRow dr in dt.Rows) { if (list.Contains(string.Format("{0}", dr["OperationCode"]).Trim())) continue; list.Add(string.Format("{0}", dr["OperationCode"]).Trim()); } bool flag = bll.Counteract_Exsit(DateTime.Now, fileName,list.ToArray()); if (flag) { DisplayAlert("当天的数据已经存在!重新导入需先删除当天的数据!"); return; } bll.ImportData(string.Format("{0}", Session["userid"]), fileName, dt); DisplayAlert(fileName + ":上传成功!"); //OutputDataGrid1.SortCondition = " Creatertime desc"; //OutputDataGrid1.Update(); Response.Redirect("CounteractManage.aspx"); } catch (Exception xe) { DisplayAlert(xe.Message); } finally { System.IO.Directory.Delete(loadPath, true); } } else { DisplayAlert("请选择需要上传的文件!"); } }//下载protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e) { if (e.CommandName == "DK") { string fileName = e.CommandArgument.ToString(); string filePath = TxtExport + "\\" + fileName; if (File.Exists(filePath)) { FileInfo file = new FileInfo(filePath); Response.ContentEncoding = System.Text.Encoding.GetEncoding("UTF-8"); //解决中文乱码 Response.AddHeader("Content-Disposition", "attachment; filename=" + Server.UrlEncode(file.Name)); //解决中文文件名乱码 Response.AddHeader("Content-length", file.Length.ToString()); Response.ContentType = "appliction/octet-stream"; Response.WriteFile(file.FullName); Response.End(); } } } 提示错误:Both DataSource and DataSourceID are defined on 'GridView1'. js和Ajax表单验证时提交问题 GridView用假分页后,点击标题排序 <font color='red'>地方</font> js的变量与c#后台代码交互问题 网页之间传递参数问题? 我如何知道DataTable当前是第几行 ? 学习asp.net的可以加群18186925 DataGrid的显示问题? 很困惑,关于.net 救大虾帮忙 String="3jfjfiid99999999lklkjopi8"怎样截取opi8
if (Fi.Exists)
{
FileStream fs = new FileStream(filePath, FileMode.Open);
byte[] bytes = new byte[(int)fs.Length];
fs.Read(bytes, 0, bytes.Length);
fs.Close();
Response.ContentType = "application/octet-stream";
Response.AddHeader("Content-Disposition", "attachment; filename=1.excel");
Response.BinaryWrite(bytes);
Response.Flush();
Response.End();
}
string path = Server.MapPath("~/") + "";
Response.AppendHeader("Content-Disposition", "attachment;filename=" + System.Web.HttpUtility.UrlEncode(obj.Name, System.Text.Encoding.GetEncoding("utf-8")));
Response.ContentType = "application/octet-stream";
Response.WriteFile("" + path + "");
Response.End();
if (fileUpload.HasFile)
{
string savePath = Server.MapPath("~/upload/");
if(!System.IO.Directory.Exists(savePath))
{
System.IO.Directory.CreateDirectory(savePath);
}
savePath = savePath + "\\" + fileUpload.FileName;
fileUpload.SaveAs(savePath);
}
http://topic.csdn.net/u/20090819/15/cf431ac6-3bb9-4e22-9974-8ef4b7269d28.html
您的回复正文中有非法词或词组!http://download.csdn.net/source/933390
Response.ContentType = "application/octet-stream";
Response.AddHeader("Content-Disposition", "attachment;filename=" + 文件名称);
response.WriteFile(Filepath);//下载
http://topic.csdn.net/u/20090819/15/cf431ac6-3bb9-4e22-9974-8ef4b7269d28.html
就是拉几个控件写点烂代码,然后就O了.
function checkFileExtension(elem) {
var filePath = elem.value; if(filePath.indexOf('.') == -1)
return false;
var validExtensions = new Array();
var ext = filePath.substring(filePath.lastIndexOf('.') + 1).toLowerCase();
validExtensions[0] = 'xls';
validExtensions[1] = 'xlsx';
for(var i = 0; i < validExtensions.length; i++) {
if(ext == validExtensions[i])
return true;
}
alert('后缀为:( ' + ext.toUpperCase() + ')的文件格式 无法导入!');
return false;
}
</script>--后台 /// <summary>
/// 上传
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
protected void btnSubmit_Click(object sender, EventArgs e)
{
if (FileUpload1.HasFile)
{
string loadPath =Server.MapPath("../")+ ConfigurationSettings.AppSettings["ExcelFolder"];
string fileName = Server.HtmlEncode(FileUpload1.FileName);
if (!System.IO.Directory.Exists(loadPath))
{
System.IO.Directory.CreateDirectory(loadPath);
}
string Extension = System.IO.Path.GetExtension(FileUpload1.PostedFile.FileName);
if (".xls.xlsx".ToUpper().IndexOf(Extension.ToUpper()) < 0)
{
DisplayAlert("文件格式不正确!请选择(.xls.xlsx)格式的文件上传!");
return;
} Import_CounteractBLL bll = new Import_CounteractBLL();
string filepath=loadPath + string.Format("{0}{1}", Guid.NewGuid().ToString(), Extension); try
{
if (System.IO.File.Exists(filepath))
{
System.IO.File.Delete(filepath);
} FileUpload1.SaveAs(filepath);
DataTable dt = bll.LoadUpByExcel(filepath);//bll.LoadExcelData(0, path, 2, 1);
List<string> list = new List<string>();
foreach (DataRow dr in dt.Rows)
{
if (list.Contains(string.Format("{0}", dr["OperationCode"]).Trim())) continue;
list.Add(string.Format("{0}", dr["OperationCode"]).Trim());
}
bool flag = bll.Counteract_Exsit(DateTime.Now, fileName,list.ToArray());
if (flag)
{
DisplayAlert("当天的数据已经存在!重新导入需先删除当天的数据!");
return;
} bll.ImportData(string.Format("{0}", Session["userid"]), fileName, dt);
DisplayAlert(fileName + ":上传成功!"); //OutputDataGrid1.SortCondition = " Creatertime desc";
//OutputDataGrid1.Update();
Response.Redirect("CounteractManage.aspx");
}
catch (Exception xe)
{
DisplayAlert(xe.Message);
}
finally {
System.IO.Directory.Delete(loadPath, true);
}
}
else
{
DisplayAlert("请选择需要上传的文件!");
}
}//下载protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "DK")
{
string fileName = e.CommandArgument.ToString();
string filePath = TxtExport + "\\" + fileName;
if (File.Exists(filePath))
{
FileInfo file = new FileInfo(filePath);
Response.ContentEncoding = System.Text.Encoding.GetEncoding("UTF-8"); //解决中文乱码
Response.AddHeader("Content-Disposition", "attachment; filename=" + Server.UrlEncode(file.Name)); //解决中文文件名乱码
Response.AddHeader("Content-length", file.Length.ToString());
Response.ContentType = "appliction/octet-stream";
Response.WriteFile(file.FullName);
Response.End();
}
}
}