我要做一个上传图片的功能,实现把本地的图片上传到服务器中,那位大大讲解一下 ,有代码最好

解决方案 »

  1.   

    后台可以考虑使用ftp或是http服务器来接受文件,如果采用http的话,给你一个参考
    server (asp.net mvc)[AcceptVerbs(HttpVerbs.Post)]
    public void Push(string id) {
    string appName = id.Split('.')[0];
    string targetFolder = Path.Combine(Server.MapPath("/Apps"), appName);
    if (!Directory.Exists(targetFolder)) {
    Directory.CreateDirectory(targetFolder);
    } var buffer = new byte[4096]; using (FileStream fs = new FileStream(Path.Combine(targetFolder, id), FileMode.Create)) {
    while (true) {
    int r = Request.InputStream.Read(buffer, 0, 4096);
    if (r <= 0) { break; }
    fs.Write(buffer, 0, r);
    }
    }
    }
    client (csharp)namespace AppGet {
    public class PushCommand : CommandBase {
    protected override void Execute() {
    string uri = string.Format("http://{0}/App/Push/{1}", ConfigurationManager.AppSettings["AppCenter"], Args["-file"]);
    Console.WriteLine(uri);
    HttpWebRequest request = HttpWebRequest.Create(uri) as HttpWebRequest;
    request.Method = "POST"; using (Stream stream = request.GetRequestStream()) {
    var buffer = new byte[4096];
    using (FileStream fs = new FileStream(Args["-file"], FileMode.Open)) {
    while (true) {
    int r = fs.Read(buffer, 0, 4096);
    if (r <= 0) { break; }
    stream.Write(buffer, 0, r);
    }
    }
    } request.GetResponse();
    } private const string DefaultContentType = "application/octet";
    }
    }
      

  2.   

    我写的代码如下,可是报主机名无效和uri错误 怎么解决?
    public void UpLoad(string fileName)
            {
                FileInfo fileInfo = new FileInfo(fileName);            string uri = "ftp:// " + ftpServerIP + "/ " + fileInfo.Name;            FtpWebRequest reqFTP;            reqFTP = (FtpWebRequest)FtpWebRequest.Create(new Uri(uri));            //reqFTP.Credentials = new NetworkCredential(ftpUserID, ftpPassword);            reqFTP.KeepAlive = false;            reqFTP.Method = WebRequestMethods.Ftp.UploadFile;            reqFTP.UseBinary = true;            reqFTP.ContentLength = fileInfo.Length;            int buffLength = 2048;            byte[] buff = new byte[buffLength];            int contentLen;            FileStream fs = fileInfo.OpenRead();
                try
                {
                    Stream strm = reqFTP.GetRequestStream();                contentLen = fs.Read(buff, 0, buffLength);                while (contentLen != 0)
                    {
                        strm.Write(buff, 0, contentLen);                    contentLen = fs.Read(buff, 0, buffLength);
                    }
                    strm.Close();
                    fs.Close();
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, "Upload Error ");
                }
            }        private void button1_Click(object sender, EventArgs e)
            {
                UpLoad(@"E:\唐磊\练习\Ftp\Ftp\Image\20070616233451.gif");
            }
      

  3.   

    string uri = @"ftp:// " + ftpServerIP + "/ " + fileInfo.Name;
      

  4.   

    baichangle  还是不可以啊  还需要在服务器上写什么代码吗?
      

  5.   

    nonocast  有没有Winfrom 用ftp实现图片上传的  指教一下撒  先谢过了 
      

  6.   

    System.Net.WebClient webClient  = new System.Net.WebClient();
    参考webClient.UploadFile方法