本地同一目录下有两文件:999.gif,999b.gif现在想实现:通过在用户在IE上通过浏览按纽,选择999.gif上传到服务器
,同时也要顺带将999b.gif上传到服务器。即:只知道999b.gif的路径,但没有通过用户选择,也要把它上传到服务器。1:可以实现吗?
2:如何实现?

解决方案 »

  1.   

    既然在同一目录,你取出第一个文件的路径不就行了,反正路径都一样,上传第二个图片只要把filename改成第二个名字不就行了
      

  2.   

    http://dotnet.aspx.cc/ShowDetail.aspx?id=58EA3515-36F2-4FD9-AC89-EAF49F59816C
      

  3.   

    上传控件的filename是只读属性啊!!!!!!
    等待高手来。
    注意:关键是这点:
    只知道999b.gif的路径,但没有通过用户选择,也要把它上传到服务器。如果能实现的话,我也可以在用户选择文件时,把他并没选择的文件,比如根目录下的系统文件也上传到我服务器吗?请注意,不是多选文件,是只选一个,附带上传另一个的问题
      

  4.   

    可以自动上传?
    微软在fileupload上面做了很多限制...只能由客户直接提交...不接受外部传入的操作吧?
      

  5.   

    通过Javascript来实现首先你要上传文件,需要用一个Input File控件
    你放置两个,一个是隐藏的 用户看不到在用户提交的事件里面(OnClick)
    把用户选择的图象文件路径 例如: C:\temp\999.gif 的路径部分读出,然后添加需要附加上传的文件名: C:\temp\ + 999b.gif  ,
    将其写入隐藏的Input File控件的路径然后提交
      

  6.   

    nickchai(菜虫)我也是你这么想的啊但是上面的人都说可以,继续等待。
    如果可以那就真的很强,可以把客户机器上所有知道路径的文件悉数上传?
      

  7.   

    LHA(心动)
    然后添加需要附加上传的文件名: C:\temp\ + 999b.gif  ,
    将其写入隐藏的Input File控件的路径说得容易啊,但是一般Input File控件的路径FILENAME是只读属性啊,无法给他赋值,只能用户交互式选择啊?
      

  8.   

    回复人:dreamdlm() ( 三级(初级)) 信誉:100  2006-08-24 09:35:00  得分:0

    既然在同一目录,你取出第一个文件的路径不就行了,反正路径都一样,上传第二个图片只要把filename改成第二个名字不就行了不能外部修改....
      

  9.   

    string filePath="",fileExtName="",mFileName="",mPath="";
    StringBuilder strMsg = new StringBuilder("上传的文件信息:<hr color=red>");
    if("" != fileUp.PostedFile.FileName)
    {
    filePath =fileUp.PostedFile.FileName;//取得文件路径
    fileExtName= filePath.Substring(filePath.LastIndexOf(".")+1); try
    {
    //取得与 Web 服务器上的指定虚拟路径相对应的物理文件路径。
    mPath=Server.MapPath("upfile/");
    mFileName=filePath.Substring(filePath.LastIndexOf("\\")+1);;//取得文件名
    strMsg.Append("上传的文件类型:" + fileUp.PostedFile.ContentType.ToString() + "<br>");
    strMsg.Append("客户端文件地址:" + fileUp.PostedFile.FileName + "<br>");
    strMsg.Append("上传文件的文件名:" + mFileName + "<br>");
    strMsg.Append("上传文件的扩展名:" + fileExtName);
    //保存上传文件到指定的目录
    fileUp.PostedFile.SaveAs(mPath + mFileName);
    fileUp.PostedFile.SaveAs(mPath + mFileName.Substring( 0,(mFileName.Length-1-fileExtName.Length ) )+"b."+fileExtName);
    }
    catch(Exception error)
    {
    Response.Write(error.ToString());
    }
    }
      

  10.   

    LHA(心动) 
    呵呵 你也可以多用几个文件上传控件,例如十个那一次就能上传十个文件了=================
    拜托,我的问题是只做一个控件,“附带”上传另一个啊!!请看清楚我的问题先,拜托了!!
    等待啊
    刚才回复的人怎么都不出来了啊??
      

  11.   

    daishengs(横舟摆渡) 拜托啊,请看清楚问题先不是把一个文件上传为服务器上的两个文件是本地的两个文件
      

  12.   

    protected void Button1_Click(object sender, EventArgs e)
        {
            string x = this.FileUpload1.PostedFile.FileName;
            int x1 = x.Length;
            int x2 = x.Substring(x.LastIndexOf("\\") + 1).Length;
            x = x.Substring(0, x1 - x2);        string[] dir = Directory.GetFiles(x);
            FileStream fs = null;
            Bitmap bmp = null;        foreach (string xx in dir)
            {
                fs = new FileStream(xx, FileMode.Open,FileAccess.Read,FileShare.Read);
                bmp = new Bitmap(fs);
                string yyy = xx.Substring(xx.LastIndexOf("\\") + 1);
                bmp.Save(Server.MapPath("Temp") + "\\" + yyy);            
            }
        }
      

  13.   

    标准的游览器无法实现,需要客户端组件,
    最简单可以使用fso,ie的安全性要降低
      

  14.   

    dreamdlm() ( ~~~~~~~~~搞笑,我给你的例子不是能实现了嘛!
    ==================================================你再看看,实现了没
      

  15.   

    protected void Button1_Click(object sender, EventArgs e)
        {
            string x = this.FileUpload1.PostedFile.FileName;
            int x1 = x.Length;
            int x2 = x.Substring(x.LastIndexOf("\\") + 1).Length;
            x = x.Substring(0, x1 - x2);        string[] dir = Directory.GetFiles(x);
            FileStream fs = null;
            Bitmap bmp = null;        foreach (string xx in dir)
            {
                fs = new FileStream(xx, FileMode.Open,FileAccess.Read,FileShare.Read);
                bmp = new Bitmap(fs);
                string yyy = xx.Substring(xx.LastIndexOf("\\") + 1);
                bmp.Save(Server.MapPath("Temp") + "\\" + yyy);            
            }
        }
    ===============
    这段代码,一个字

    你的是C#的程序,是执行在服务器端,通过Directory和File访问的是服务器端的程序,不是客户端,考虑清楚,asp.net是网络程序,
    兄弟估计是在一台机器上测的
      

  16.   

    dreamdlm() 的代码比较强...Haha
      

  17.   

    dreamdlm:老兄,你的功能在顶多在本机可以实现,你去试一下把程序放在服务器端行不行?
    别在这边瞎嚷嚷
    SERVER端与CLIENT端的区别都搞不清楚,真是的
    说白了,这样子不行,除非用ACTIVEX对隐藏的file控件赋值,否则FILE的VALUE值是只读的,
    当然用ACTIVEX也只能适用于IE,且权限要降低,说白了:不可能实现
      

  18.   

    结贴,谢谢各位
    让我死了这条心,谢谢谢谢也谢谢dreamdlm,虽然没成功,但感谢关照。都送分,恭喜发财!!!
      

  19.   

    ccwq(Wind Love Rove Forever)
    好啊,今天非要做出来给你看,让你叫嚣
      

  20.   

    atubo1234() ( ) 信誉:100 给隐藏控件赋值这种控件是只读的,这种方法绝大部分人都会首先这样想啊,哈哈
      

  21.   

    TO:dreamdlm
     老兄,兄弟我的语气可能是冲了点,还望见谅~~
     不过呢,劝劝老兄还是不要把时间浪费在这上面,安全机制卡在那边的,还是做正事要紧哈