请问,ASP.NET里上传文件和下载文件是如何实现的 我要从客户端把文件上传到服务器上,或从服务器把文件下载到客户端这种功能在ASP.NET中是如何实现的希望得到详解谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <input type="file" id ="file1" runat= "server">Dim filename, filepath As String filename = Path.GetFileName(file1.PostedFile.FileName) filepath = Server.MapPath("upload\news\") & filename uploadfile.PostedFile.SaveAs(filepath) Label1.Text = "上传成功!" 使用fileupload控件不就可以了吗? 我是新手,感觉cpp2017(慕白兄)说的比较全,但还是没有弄懂 上传:直接在上传BUTTON 里写他上面的CODE就行了..下载: 给个链接路径就行了(要下载文件的路径) VS.net2005中的HTML控件INPUT(FILE)并把它转成服务器控件,就可以上传了!下载吗:超连结就行了 你先在Internet信息服务中新建一个默认Ftp网站。 OleDbParameter ContentsParas = new OleDbParameter("@FileBody",OleDbType.Binary); ContentsParas.Value = FileBody; OleDbParameter[] Paras = {ContentsParas}; this.SqlExecuteNonQuery(strSql,Paras); private void SqlExecuteNonQuery(string strSqltext,OleDbParameter[] parameters) { string connectionstring = System.Configuration.ConfigurationSettings.AppSettings["FileSQL"].ToString();// "Provider=SQLOLEDB;data source=DDZ/DDZ;initial catalog=Exam;persist security info=False;user id=sa;password=";//System.Configuration.ConfigurationSettings.AppSettings["strSqlServerConnection"]; OleDbConnection cnn = new OleDbConnection(connectionstring); OleDbCommand cmm = new OleDbCommand(strSqltext,cnn); cmm.CommandText = strSqltext; foreach(OleDbParameter param in parameters) { cmm.Parameters.Add(param); } cnn.Open(); cmm.ExecuteNonQuery(); cnn.Close(); } 下载:DataBaseType = System.Configuration.ConfigurationSettings.AppSettings["DataBaseType"].ToString(); string FileType; string strSql = "SELECT * FROM JXNF_FILE WHERE FILEID="+RecordId; DataTable dt = Util.DBFactory.NonTransactionPowerPlant.ExecuteDataTable(strSql); //System.Collections.Specialized.NameValueCollection myCollection = Util.DBFactory.NonTransactionPowerPlant.ExecuteNameValueCollection(strSql); byte[] FileByte; int len; MemoryStream myStream; //创建其支持存储区为内存的流 if (!Object.Equals(dt.Rows,null)) { myStream = new MemoryStream(); FileType = dt.Rows[0]["FileType"].ToString(); FileByte = (byte[])dt.Rows[0]["FileContent"]; myStream.Write (FileByte, 0, FileByte.Length); len = FileByte.Length; Response.ClearHeaders(); Response.ContentType = FileType; Response.OutputStream.Write(FileByte, 0, len); Response.Flush(); myStream.Close (); } private void btnup_Click(object sender, System.EventArgs e) { string MyUploadDir; int i; string Title=TxtTitle.Text; //Response.Write (Title); //Response.End(); if(Title.Length==0) { Response.Write("<script>alert('请填写文件标题!');history.back();</script>"); Response.End();} MyUploadDir=Server.MapPath("") + "\\System"; DirectoryInfo Target=new DirectoryInfo(MyUploadDir); if(!Target.Exists) {Directory.CreateDirectory(MyUploadDir);} System.Web.HttpFileCollection MyFileColl = Request.Files; //Response.Write (MyFileColl.Count); //Response.End(); for(i=0;i<MyFileColl.Count;i++) { int j = MyFileColl[i].FileName.LastIndexOf('\\'); string File_Name_NoPath=MyFileColl[i].FileName.Substring(j); string LocalFile = MyUploadDir + File_Name_NoPath; System.IO.FileInfo fi = new System.IO.FileInfo(LocalFile); if(fi.Exists) { Response.Write("<script>alert('您上传的文件已经存在!请更换文件名!');history.back();</script>"); Response.End();} else { char[] MyChar = {'\\'}; File_Name_NoPath=File_Name_NoPath.TrimStart(MyChar); File_Name_NoPath="/jpgl/System/"+File_Name_NoPath; //Response.Write(strInsert); //Response.End(); MyFileColl[i].SaveAs(LocalFile); string strInsert="insert into jp_system(jp_systitle,jp_sysaddress) values ( '"+Title+"','"+File_Name_NoPath+"') "; //Response.Write(strInsert); //Response.End(); SqlConnection MyConnection= new SqlConnection(strConnection); MyConnection.Open (); SqlCommand MyCommand=new SqlCommand(strInsert,MyConnection); MyCommand.ExecuteNonQuery(); //MyConnection.Close(); } } 把下载的连接放在panel里吧?合法就显示这个,不合法就不显示。。 [ASP.NET] 怎么执行带参数的存储过程,并返回SqlDataSource? 如何实现无刷新分页 初级IIS的问题吗? ASP.NET树控件无法得到子结点 对数据库的编辑有没有源代码管理啊? Request取值的比较???? 关于dotMSN.请大虾帮忙! C4 不能装 win2k server ??? 一个关于asp.net 连接的问题 在使用验证控件出现的问题? 新手问题!ASP.NET问题!急请高手帮忙! 自定义控件问题,明白的进!
Dim filename, filepath As String
filename = Path.GetFileName(file1.PostedFile.FileName)
filepath = Server.MapPath("upload\news\") & filename
uploadfile.PostedFile.SaveAs(filepath)
Label1.Text = "上传成功!"
下载: 给个链接路径就行了(要下载文件的路径)
ContentsParas.Value = FileBody;
OleDbParameter[] Paras = {ContentsParas};
this.SqlExecuteNonQuery(strSql,Paras);
private void SqlExecuteNonQuery(string strSqltext,OleDbParameter[] parameters)
{
string connectionstring = System.Configuration.ConfigurationSettings.AppSettings["FileSQL"].ToString();// "Provider=SQLOLEDB;data source=DDZ/DDZ;initial catalog=Exam;persist security info=False;user id=sa;password=";//System.Configuration.ConfigurationSettings.AppSettings["strSqlServerConnection"];
OleDbConnection cnn = new OleDbConnection(connectionstring);
OleDbCommand cmm = new OleDbCommand(strSqltext,cnn);
cmm.CommandText = strSqltext;
foreach(OleDbParameter param in parameters)
{
cmm.Parameters.Add(param);
} cnn.Open();
cmm.ExecuteNonQuery();
cnn.Close();
}
DataBaseType = System.Configuration.ConfigurationSettings.AppSettings["DataBaseType"].ToString();
string FileType;
string strSql = "SELECT * FROM JXNF_FILE WHERE FILEID="+RecordId;
DataTable dt = Util.DBFactory.NonTransactionPowerPlant.ExecuteDataTable(strSql);
//System.Collections.Specialized.NameValueCollection myCollection = Util.DBFactory.NonTransactionPowerPlant.ExecuteNameValueCollection(strSql);
byte[] FileByte;
int len;
MemoryStream myStream; //创建其支持存储区为内存的流
if (!Object.Equals(dt.Rows,null))
{
myStream = new MemoryStream();
FileType = dt.Rows[0]["FileType"].ToString();
FileByte = (byte[])dt.Rows[0]["FileContent"];
myStream.Write (FileByte, 0, FileByte.Length);
len = FileByte.Length; Response.ClearHeaders();
Response.ContentType = FileType;
Response.OutputStream.Write(FileByte, 0, len);
Response.Flush();
myStream.Close ();
}
{
string MyUploadDir;
int i;
string Title=TxtTitle.Text;
//Response.Write (Title);
//Response.End();
if(Title.Length==0)
{
Response.Write("<script>alert('请填写文件标题!');history.back();</script>");
Response.End();} MyUploadDir=Server.MapPath("") + "\\System";
DirectoryInfo Target=new DirectoryInfo(MyUploadDir);
if(!Target.Exists)
{Directory.CreateDirectory(MyUploadDir);}
System.Web.HttpFileCollection MyFileColl = Request.Files;
//Response.Write (MyFileColl.Count);
//Response.End();
for(i=0;i<MyFileColl.Count;i++)
{
int j = MyFileColl[i].FileName.LastIndexOf('\\');
string File_Name_NoPath=MyFileColl[i].FileName.Substring(j);
string LocalFile = MyUploadDir + File_Name_NoPath;
System.IO.FileInfo fi = new System.IO.FileInfo(LocalFile);
if(fi.Exists)
{
Response.Write("<script>alert('您上传的文件已经存在!请更换文件名!');history.back();</script>");
Response.End();}
else
{
char[] MyChar = {'\\'};
File_Name_NoPath=File_Name_NoPath.TrimStart(MyChar);
File_Name_NoPath="/jpgl/System/"+File_Name_NoPath;
//Response.Write(strInsert);
//Response.End();
MyFileColl[i].SaveAs(LocalFile);
string strInsert="insert into jp_system(jp_systitle,jp_sysaddress) values ( '"+Title+"','"+File_Name_NoPath+"') ";
//Response.Write(strInsert);
//Response.End();
SqlConnection MyConnection= new SqlConnection(strConnection);
MyConnection.Open ();
SqlCommand MyCommand=new SqlCommand(strInsert,MyConnection);
MyCommand.ExecuteNonQuery();
//MyConnection.Close();
}
}