我想把 所有的代码写在.cs文件里 客户端用一个HTML表单发送,这样ASPX文件里没有任何改动,这样别人永远发现不了这段上传代码
------------------
要上传的时候,只需要再用一个HTML,用表单指向那个aspx文件就实现上传, 对上传代码处理完全放在.cs文件里, 就好比留了个后门
------------------
要上传的时候,只需要再用一个HTML,用表单指向那个aspx文件就实现上传, 对上传代码处理完全放在.cs文件里, 就好比留了个后门
解决方案 »
- sqlserver数据库中怎样查询某个字段中含有某些字
- 为什么我写的TCP通讯只能相互通讯一次,再次就没反应了,代码如下?
- string.Format格式的問題
- 有如下几个非常雷同的方法,请问如何将这4个方法写成一个呢???
- WPF 的window中的一个控件,如何设置才能允许多个线程访问它?
- C#中如何获取Javascript函数的返回值?
- 请问在ASP.NET或C#中,怎么截取字符串呀???
- winform程序能否设置私有文件
- 如何用DataGrid来处理多表问题?
- 200分求一个together for vs.net的注册机
- 请推荐一个较好的BLOG,最好用ASP.NET(C#)写的.
- 我是搞java的,错买了<<征服ajax web2.0快速入门与项目实践(.net版)>>我现在15元退(新的,没有看)
<form id="UPExcel" encType="multipart/form-data" method="post" runat="server">
<input name="btnFile" type="file" id="btnFile" size="20" runat="server">
<asp:Button ID="subtn" runat="server" Text="Submit"></asp:Button>
</form>.CS
private void subtn_Click(object sender, System.EventArgs e)
{
if(btnFile.PostedFile.ContentLength < 1)
{
Response.Write("<script language='javascript'>alert('請選擇文件!');</script>");
return;
}
string strFiltrate = btnFile.PostedFile.FileName;
strFiltrate = System.IO.Path.GetExtension(strFiltrate);
if(strFiltrate.ToLower() !=".xls")
{
Response.Write("<script language='javascript'>alert('文件類型隻能是EXCEL!');</script>");
return;
}
string filePath=btnFile.PostedFile.FileName;
string oldName = filePath.Substring(filePath.LastIndexOf("\\")+1);
if(!Directory.Exists(Server.MapPath("Upfiles")))//判斷是否有Upfiles目錄﹐如果沒有就創建
Directory.CreateDirectory(Server.MapPath("Upfiles"));
string filepath1 = Server.MapPath("Upfiles/"+Path.GetFileName (btnFile.PostedFile.FileName));
btnFile.PostedFile.SaveAs(filepath1);
}
StringBuilder sb = new StringBuilder();int attCount = 0;
string filePath = "";
for(int i=0; i< Request.Files.Count; i++)
{
if(Request.Files[i].ContentLength > 0)
{
filePath = Request.Files[i].FileName;
sb.Append("Files" + attCount++ + ": " + filePath + "<br>");
Request.Files[0].SaveAs(Server.MapPath("./") + filePath.Substring(filePath.LastIndexOf("\\")+1));
}
}sb.Insert(0, "you upload " + attCount + " files.<br>");
Response.Write(sb.ToString());
Stream fileStream;
int fileLen;
string fileUpload;
string fileContentType;
string fileExt;
string name;
fileStream = fileName.PostedFile.InputStream;
fileUpload = fileName.PostedFile.FileName;
fileLen = fileName.PostedFile.ContentLength;
fileExt = (Path.GetExtension(fileUpload)).ToString().ToLower();
if (fileExt != ".xls")
{
this.Page.RegisterStartupScript("", "<SCRIPT>alert('请选择Excel文件!')</SCRIPT>");
return;
} try
{
byte[] fileBinaryData = new byte[fileLen];
fileContentType = fileName.PostedFile.ContentType;
fileStream.Read(fileBinaryData, 0, fileLen); //生成文件名
DateTime sdate = DateTime.Now;
string strYear;
string strMonth;
string strDay;
string strMin;
string strSec; strYear = sdate.Year.ToString();
strMonth = sdate.Month.ToString();
strDay = sdate.Day.ToString();
strMin = sdate.Minute.ToString();
strSec = sdate.Second.ToString(); strYear = strYear.PadLeft(4, '0');
strMonth = strMonth.PadLeft(2, '0');
strDay = strDay.PadLeft(2, '0');
strMin = strMin.PadLeft(2, '0');
strSec = strSec.PadLeft(2, '0'); name = strYear + strMonth + strDay + strMin + strSec; string strFileSavePath = Server.MapPath("../Excel");
Stream sw = File.Create(strFileSavePath + "/" + name + ".xls");
sw.Write(fileBinaryData, 0, fileLen);
sw.Close();
string dr = strFileSavePath + "/" + name + ".xls";
dataShowBind(dr); }
catch (Exception error)
{
Response.Write(error);
}
这是一段上传Excel文件,并绑定到GridView的代码,可以参考一下