比如说,现有文件夹a,我想先查看a里面有没有名为1234的文件夹,有的话通过swfupload控件将图片传进1234,没有的话创建1234再传进图片。关键是我现在用的swfupload控件通过ashx文件实现的,没办法放一个文本框,输入1234,将文本框里的内容作为文件夹名使用,如果是单张图片上传,不用ashx的话,我能够创建1234并上传,用到ashx和swfupload的话,我就不知道怎么弄了。求解啊 100分

解决方案 »

  1.   


    //为什么一定要输入名字。。你规定不就行了你说要什么就叫什么 if (!Directory.Exists(Server.MapPath("~/aa/1234")))//如果不存在就创建file文件夹 
     {
             Directory.CreateDirectory(Server.MapPath("~/aa/1234"));  //这两个路径。。根据你自己的
     }
      

  2.   

    可以直接放一个文本框,然后在上传按钮点击的时候获取文本框值,然后获取本地文件路径。在该路径后面添加该文件夹名称:
    比如:获取的本地路径为D:\Oracle\SystemPage.sql,文本框值为Oracle,那就结合成这样的
    D:\Oracle\SystemPage.sql_Oracle,
    最后在服务器端获取该字符串再解析出Oracle,完成文件加创建并上传数据
      

  3.   


    你说的这个适用用单张图片上传,不适用于ashx文件啊
      

  4.   

    using System.IO;string dirpath =...
    string filepath=...
    //外面也可以嵌入for循环 把你多文本的路径取出来判断
    if (Directory.Exists(path))//判断目录是否存在
    {}
    if(File.Exist(filepath))//如果是文件的话
    {
    //上传
    }
    else
    {
    //创建
    }
      

  5.   


    你看方法只有那点不同。。你就可以想这个是可以提取的啊。。   public void CreateDir(string path)
        {
            if (!Directory.Exists(Server.MapPath(path)))
            {
                Directory.CreateDirectory(Server.MapPath(path)); 
            }
        }
      
      

  6.   

    添加一个文本框如 <input type="text" id="pdir" />
     
    在点击上传之前,执行
    var ndir=document.getElementById("pdir").value;
    swfu.Addpostparams("pdir",ndir); 点击上传后.在ashx中取目录名
    string ndir=context.Request["pdir"];
      

  7.   

    using System.IO;string dirpath =...
    string filepath=...
    //外面也可以嵌入for循环 把你多文本的路径取出来判断
    if (Directory.Exists(path))//判断目录是否存在
    {}
    if(File.Exist(filepath))//如果是文件的话
    {
    //上传
    }
    else
    {
    //创建
       public void CreateDir(string path)
        {
            if (!Directory.Exists(Server.MapPath(path)))
            {
                Directory.CreateDirectory(Server.MapPath(path)); 
            }
        }}