服务器内部分布式图片取得-阿里云开发者社区

开发者社区> 数据库> 正文
登录阅读全文

服务器内部分布式图片取得

简介:
最近做的一个系统中,对于上传到服务器的图片被保存到服务器端内部其余的计算机上,而且这些机子对公网来说是不透明的,所以在图片取得时候做了一个小转换.
1)问题:将图片上传到服务器端,服务器端在取到图片之后,按照配置中指定的内网服务器地址保存到对应的共享目录中,(这台机子不具备有共网IP).这样就造成如果直接从外网访问共网内部的机子,将取不到图片.
2)解决思路:
  2.1)其实问题和将图片保存到数据库中的处理方式是一样的,只是区别于一个在数据库中,一个在其他计算机上.
  2.2)对于将图片保存到数据库的处理网上有很多处理方式,大家可以借鉴一下,这里主要将取得图片的处理方式
       给出,
public partial class pages_Common_GetImage : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        string strImageFile = Request.QueryString["ImgUrl"] == null ? string.Empty : Request.QueryString["ImgUrl"].ToString();
        if (strImageFile.Equals(string.Empty))
            return;
        GetImage(FormatImageFile(strImageFile));
    }


    private void GetImage(string strPath)
    {
        if (! System.IO.File.Exists(strPath))
            return;        
        System.Drawing.Image img = System.Drawing.Image.FromFile(strPath);
        Response.ContentType = "image/Jpeg";        
        img.Save(Response.OutputStream, System.Drawing.Imaging.ImageFormat.Jpeg);        
        Response.End();
    }

    private string  FormatImageFile(string strPath)
    {
        return strPath;
    }

}

对于具体的地址转换可以在FormatImageFile中处理,地址可以被保存在数据库中,
也可以是直接传内网地址的方式.主要看具体的要求.解决办法也比较简单.













本文转自小余(Yice)博客园博客,原文链接:   http://www.cnblogs.com/yice/archive/2008/04/17/765924.html ,如需转载请自行联系原作者



版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
数据库
使用钉钉扫一扫加入圈子
+ 订阅

分享数据库前沿,解构实战干货,推动数据库技术变革

其他文章
最新文章
相关文章