首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

过路的帮俺看看,路过有分,该如何处理

2012-02-01 
过路的帮俺看看,路过有分我数据库字段多附件上传地址 中形式如下:A:/aaaB:/bbbC:/ccc下载的时候怎么

过路的帮俺看看,路过有分
我数据库字段   "多附件上传地址 "   中形式如下:
A:/aaa;B:/bbb;C:/ccc;
下载的时候怎么办?

  public   string   FormatString(string   str)
        {
                str   =   str.Replace( "   ",   "   ");
                str   =   str.Replace( " < ",   "&lt; ");
                str   =   str.Replace( "> ",   "&gt; ");
                str   =   str.Replace( '\n '.ToString(),   " <br> ");
                return   str;
        }
        protected   void   Button1_Click(object   sender,   EventArgs   e)
        {
                if   (Request[ "id "]   !=   null)
                {
                        int   id   =   Convert.ToInt32(Request[ "id "]);//转换为数字,防止sql注入

                        SqlConnection   conn   =   new   SqlConnection(ConfigurationManager.ConnectionStrings[ "SQLCONNECTIONSTRING "].ConnectionString);
                        conn.Open();
                        adr   =   "select   附件上传地址   from   Mail   WHERE   邮件编号   =   "   +   id;
                        SqlCommand   cmd   =   new   SqlCommand(adr,   conn);
                        string   path   =   cmd.ExecuteScalar().ToString();
                        //取得路径
                        filepath   =   FormatString(path.ToString()).ToString().Trim();

                        string   Temp_filename   =   FormatString(path.ToString()).ToString();
                        int   pos   =   Temp_filename.LastIndexOf( "\\ ")   +   1;
                        filename   =   Temp_filename.Substring(pos,   Temp_filename.Length   -   pos).ToString();
                        filename   =   HttpUtility.UrlEncode(System.Text.Encoding.UTF8.GetBytes(filename));

                        Response.Clear();
                        Response.ClearHeaders();
                        Response.ClearContent();
                        FileStream   fs   =   new   FileStream(filepath,   FileMode.Open);


                        long   FileSize   =   fs.Length;
                        byte[]   Buffer   =   new   byte[(int)FileSize];
                        fs.Read(Buffer,   0,   (int)fs.Length);
                        fs.Close();
                        Response.ContentType   =   "application/octe-stream ";
                        Response.AddHeader( "content-disposition ",   "attachment;filename= "   +   filename);
                        Response.Charset   =   "UTF-8 ";
                        Response.ContentEncoding   =   System.Text.Encoding.UTF8;
                        Response.BinaryWrite(Buffer);
                        conn.Close();
                }
        }

我这个只能下载如:A:/aaa     这样形式的单个附件,请问我要怎么改?
拜谢答者~~


[解决办法]
我路过,所以有分
[解决办法]
A:/aaa;B:/bbb;C:/ccc
截成数组,做个循环
[解决办法]
我也路过,帮顶一下。
[解决办法]
定義一個字符串數組,然後把路徑存進數組,如:

filepath=filepath.Substring(0,filepath.Length-1)//去掉最末尾的分號
string[] strpaths = filepath.Split( '; ');//把分號之間的路徑取出來放到數組裡

然後用一個循環輸出。
[解决办法]
我虽然路过,但很想帮你,不过还是没看懂你要表达的意思。
[解决办法]
string path= "A:/aaa;B:/bbb;C:/ccc ";
string s= "; "
char[] p=s.ToCharArray();
string b[]=path.Split(p);
for(int i=0;i <b.length;i++)
{
插入语句 什么 insert into A values(b[i].Tostring());
}
[解决办法]
你可以参考多数邮件系统的做法,当你收到一封带有多个附件的邮件时
系统将每个附件创建一个超链,用户点击后下载对应项,而不是只提供一个“下载全部”的按钮
一股脑的将附件全部下载。一个html页,指定了contenttype后只提供单个文件的下载,如果要一次提供多个附件那就要开多个窗口,不建议这么做,如果需求一定要这样,那么可以把路径组合输出到页面,用javascript新开窗口,然后把路径逐个传给新窗口下载。
[解决办法]
把文件列出来让用户去选择吧,点一个连接就全都下载下来不太好吧!
要不就全部打包,之后下载下一个压缩包吧!呵呵!
[解决办法]
路过
[解决办法]
ydsunny(小强) ( ) 信誉:100 Blog 2007-01-05 17:01:28 得分: 0


定義一個字符串數組,然後把路徑存進數組,如:

filepath=filepath.Substring(0,filepath.Length-1)//去掉最末尾的分號
string[] strpaths = filepath.Split( '; ');//把分號之間的路徑取出來放到數組裡

然後用一個循環輸出。


-----
顶这个
------解决方案--------------------


哇 我是小菜鸟 不会 帮顶....
[解决办法]
JF。
[解决办法]
JF,Ding
[解决办法]
漂過......
[解决办法]
帮你顶
[解决办法]
string aaa = "A:/aaa;B:/bbb;C:/ccc ";
截成数组,做个循环
string [] strAddress = aaa.slipt( "; ");
[解决办法]
严重同意楼上的方法,要求下截的数组的长度,就可以做个循环了

[解决办法]
偶还同挣过分呢
[解决办法]
string aaa = "A:/aaa;B:/bbb;C:/ccc ";
截成数组,做个循环
string [] strAddress = aaa.slipt( "; ");
-----------------
同意!
jf
[解决办法]
UP
[解决办法]
jf 同意 ydsunny(小强) 的做法
[解决办法]

路过~~
[解决办法]
string aaa = "A:/aaa;B:/bbb;C:/ccc ";
string [] strAddress = aaa.slipt( "; ");
foreach(string str in strAddress)
{
this.response.write( " <a href= "+str+ "> "+str+ " </a> ");
}
[解决办法]
路过
[解决办法]
路过
[解决办法]
路过
[解决办法]
.net不会 路过的
[解决办法]
我很想帮你,明白后就告诉你
[解决办法]
.NET开发俱乐部给IT工作者提供交流平台,实现资源互补,共同进步!欢迎加入20152522

.NET开发俱乐部给IT工作者提供交流平台,实现资源互补,共同进步!欢迎加入20152522

.NET开发俱乐部给IT工作者提供交流平台,实现资源互补,共同进步!欢迎加入20152522

.NET开发俱乐部给IT工作者提供交流平台,实现资源互补,共同进步!欢迎加入20152522

.NET开发俱乐部给IT工作者提供交流平台,实现资源互补,共同进步!欢迎加入20152522
.NET开发俱乐部给IT工作者提供交流平台,实现资源互补,共同进步!欢迎加入20152522

.NET开发俱乐部给IT工作者提供交流平台,实现资源互补,共同进步!欢迎加入20152522

.NET开发俱乐部给IT工作者提供交流平台,实现资源互补,共同进步!欢迎加入20152522

.NET开发俱乐部给IT工作者提供交流平台,实现资源互补,共同进步!欢迎加入20152522

.NET开发俱乐部给IT工作者提供交流平台,实现资源互补,共同进步!欢迎加入20152522

[解决办法]
晃来晃去

热点排行