如何上传文件到虚拟目录,以及在虚拟目录下再建分目录

解决方案 »

  1.   

    上传:
    http://www.yesky.com/20011016/200942.shtml建目录:(必须要有文件夹操作的权限)
    用System.IO.Directory.CreateDirectory("...");
      

  2.   

    上传到虚拟目录就跟你上传到机器的一般目录是一样的不过注意ASP。NET的权限问题给你个上传图片并缩小的代码,你可以参考下
    SaveAs(path),在这里修改你保存的路径
    using System;
    using System.Collections;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Web;
    using System.Web.SessionState;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.HtmlControls;
    using System.IO; 
    using System.Drawing.Imaging;namespace eMeng.Exam
    {
    /// <summary>
    /// Thumbnail 的摘要说明。
    /// </summary>
    public class Thumbnail : System.Web.UI.Page
    {
    protected System.Web.UI.WebControls.Label Label1;
    protected System.Web.UI.WebControls.Button Button1; private void Page_Load(object sender, System.EventArgs e)
    {
    // 在此处放置用户代码以初始化页面
    Label1.Text = "<h3>在ASP.NET里轻松实现缩略图</h3>"; 
    Button1.Text = "上载并显示缩略图";  } #region Web 窗体设计器生成的代码
    override protected void OnInit(EventArgs e)
    {
    //
    // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
    //
    InitializeComponent();
    base.OnInit(e);
    }

    /// <summary>
    /// 设计器支持所需的方法 - 不要使用代码编辑器修改
    /// 此方法的内容。
    /// </summary>
    private void InitializeComponent()
    {    
    this.Button1.Click += new System.EventHandler(this.Button1_Click);
    this.Load += new System.EventHandler(this.Page_Load); }
    #endregion private void Button1_Click(object sender, System.EventArgs e)
    {
    HttpFileCollection MyFileColl = HttpContext.Current.Request.Files; 
    HttpPostedFile MyPostedFile = MyFileColl[0];  if (MyPostedFile.ContentType.ToString().ToLower().IndexOf("image") < 0) 

    Response.Write("无效的图形格式。"); 
    return; 

    GetThumbNail(MyPostedFile.FileName, 100, 100, 
    MyPostedFile.ContentType.ToString(), false, MyPostedFile.InputStream); 
    }
    private System.Drawing.Imaging.ImageFormat GetImageType(object strContentType) 

    if ((strContentType.ToString().ToLower()) == "image/pjpeg") 

    return System.Drawing.Imaging.ImageFormat.Jpeg; 

    else if ((strContentType.ToString().ToLower()) == "image/gif") 

    return System.Drawing.Imaging.ImageFormat.Gif; 

    else if ((strContentType.ToString().ToLower()) == "image/bmp") 

    return System.Drawing.Imaging.ImageFormat.Bmp; 

    else if ((strContentType.ToString().ToLower()) == "image/tiff") 

    return System.Drawing.Imaging.ImageFormat.Tiff; 

    else if ((strContentType.ToString().ToLower()) == "image/x-icon") 

    return System.Drawing.Imaging.ImageFormat.Icon; 

    else if ((strContentType.ToString().ToLower()) == "image/x-png") 

    return System.Drawing.Imaging.ImageFormat.Png; 

    else if ((strContentType.ToString().ToLower()) == "image/x-emf") 

    return System.Drawing.Imaging.ImageFormat.Emf; 

    else if ((strContentType.ToString().ToLower()) == "image/x-exif") 

    return System.Drawing.Imaging.ImageFormat.Exif; 

    else if ((strContentType.ToString().ToLower()) == "image/x-wmf") 

    return System.Drawing.Imaging.ImageFormat.Wmf; 

    else 

    return System.Drawing.Imaging.ImageFormat.MemoryBmp; 

    }  private void GetThumbNail(string strFileName, int iWidth, int iheight, 
    string strContentType, bool blnGetFromFile, System.IO.Stream ImgStream) 

    System.Drawing.Image oImg;

    if (blnGetFromFile) 

    oImg = System.Drawing.Image.FromFile(strFileName); 

    else 

    oImg = System.Drawing.Image.FromStream(ImgStream); 

    oImg = oImg.GetThumbnailImage(iWidth, iheight, null, IntPtr.Zero); 
    string strGuid = System.Guid.NewGuid().ToString().ToUpper(); 
    string strFileExt = strFileName.Substring(strFileName.LastIndexOf(".")); 
    Response.ContentType = strContentType; 
    MemoryStream MemStream = new MemoryStream(); 
    oImg.Save(MemStream, GetImageType(strContentType)); 
    MemStream.WriteTo(Response.OutputStream); 
    } }
    }
      

  3.   

    我用System.IO.Directory.CreateDirectory("/samples/aaa")
    本来samples目录物理上存在"h:"
    但用上面的命令则是在操作系统盘符"f:"下建立了"/samples/aaa"
      

  4.   

    只要有权限,跨站点可以通过web service来实现。
    http://dotnet.aspx.cc/ShowDetail.aspx?id=6381BD5F-51F3-4339-4239-1328564A1B2A