1. 现在有两台服务器,A服务器asp.net代码  www.a.com。B服务器为存储图片。 img.a.com
2. 现在我访问B服务图片为 img.a.com/1.jpg,很简单也能访问。 但我注册的时候需要用户上传一个头像图片 2.jpg。
3. 请问,如何把图片2.jpg或发贴时候的图片存储到 B 服务器上,知道的说下。谢谢。。求肋,asp.net分布试存储图片

解决方案 »

  1.   

    ftp上传,先存储本地,然后通过ftp上传,上传成功删除本地文件。对于头像图片这种类型的需求记得留好缩略图的接口。
      

  2.   

    把img.a.com的磁盘映射到www.a.com服务器上,上传自动会存到img.a.com 
      

  3.   

    对于asp.net应用程序来说,通常都是一个 form,因此所有提交的信息都在(你的)A服务器。那么你的A可以再使用
       new WebClient().UploadFile(......)
    将.2.jpg文件再传给B。文件在A上不需要落地,只做一个中转。你的B服务器可以检查客户端是否是A服务器,例如public class uploadDatabase : IHttpHandler
    {    public void ProcessRequest(HttpContext context)
        {
            if (context.Request.Files.Count > 0)
            {
                if (context.Request.UserHostAddress != "192.168.1.100")
                {
                    context.Response.StatusCode = (int)System.Net.HttpStatusCode.MethodNotAllowed;  //不是默认的A服务器
                    context.Response.End();
                }            var fileName = context.Request.QueryString["name"];
                ..........................
            }
        }    public bool IsReusable
        {
            get
            {
                return false;
            }
        }
    }
      

  4.   

    new WebClient().UploadFile(......)
    将.2.jpg文件再传给B。文件在A上不需要落地,只做一个中转。请问,这个第二个参数是文件名,, 不落地,怎么传? 谢谢。