VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
12
返回列表 发新帖
楼主: qwerqwer1

请问,ASP.NET里上传文件和下载文件是如何实现的

[复制链接]

0

主题

2

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-7-31 15:00:01 | 显示全部楼层
你先在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();
                }
回复

使用道具 举报

0

主题

2

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-7-31 17:15:02 | 显示全部楼层
下载:
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 ();
                        }
回复

使用道具 举报

1

主题

2

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
 楼主| 发表于 2020-8-6 13:00:02 | 显示全部楼层
谢谢各位达人
回复

使用道具 举报

0

主题

1

帖子

2.00

积分

新手上路

Rank: 1

积分
2.00
发表于 2020-8-6 16:00:01 | 显示全部楼层
这些代码都没有考虑是否是合法用户下载!
回复

使用道具 举报

0

主题

2

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
发表于 2020-8-6 16:15:01 | 显示全部楼层
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();
                                }
                        }
回复

使用道具 举报

1

主题

6

帖子

7.00

积分

新手上路

Rank: 1

积分
7.00
发表于 2020-8-6 16:45:01 | 显示全部楼层
把下载的连接放在panel里吧?合法就显示这个,不合法就不显示。。。。。。。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表