none
请教一个web发布图片的处理方式 RRS feed

  • 问题

  • 最后要实现的要求是这样的

    服务器上,提供web方式,把一个报告图片公开给别人访问。图片不大,按96dpi,A4纸张大小的图片。

    图片是读取数据库中的数据,gdi+处理绘图出来的。访问量不大。

    我能想到两个方式实现

    方式一:

    用户每次访问时,从数据库去现读取数据,在内存中绘图,通过ashx输出成图片,供用户查看。

    当用户重复访问一条数据的图片时,服务器就会重复执行读取数据->绘图输出的操作。

    方式二:

    用户初次访问一条数据时,从数据库中读取该数据,绘图后,以文件形式保存到硬盘上。再输出给用户查看。

    以后有重复再次访问该条数据时,判断一下对应的图像文件是否存在和修改日期。如果修改日期比数据更新日期晚,就直接读取图片文件输出;反之,重复执行读取数据库,绘图保存文件,再输出。

    请问这两个方式,哪个处理方式比较合理一些。

    有什么其他的处理方式推荐一下吗?

    2013年8月20日 17:26

答案

  • 谢谢你的回答。

    我就是想问,在不同访问量下的优先处理方式。

    直接上传图片,跟方式二不是差不多吗?

    方式二需要先读取下数据库判断图片文件生成时间,才决定是重新绘图,还是读取图片文件。

    访问量大的情况下,建议上传图片,数据库中仅仅保留图片存于服务器上的相对路径,这样访问直接从服务器输出图片(建议图片是jpg或者png或者gif,又小又快)。

    If you think one reply solves your problem, please mark it as An Answer, if you think someone's reply helps you, please mark it as a Proposed Answer

    Help by clicking:
    Click here to donate your rice to the poor
    Click to Donate
    Click to feed Dogs & Cats


    Found any spamming-senders? Please report at: Spam Report

    2013年8月24日 5:31

全部回复

  • 如果访问量不大,当然方式一好。

    方式二用于频繁访问情况下。

    如果可能,直接让用户上传图片,数据表某个字段只是保存这个相对路径而已。可能比内存绘图快。


    If you think one reply solves your problem, please mark it as An Answer, if you think someone's reply helps you, please mark it as a Proposed Answer

    Help by clicking:
    Click here to donate your rice to the poor
    Click to Donate
    Click to feed Dogs & Cats


    Found any spamming-senders? Please report at: Spam Report

    2013年8月21日 3:08
  • 谢谢你的回答。

    我就是想问,在不同访问量下的优先处理方式。

    直接上传图片,跟方式二不是差不多吗?

    方式二需要先读取下数据库判断图片文件生成时间,才决定是重新绘图,还是读取图片文件。

    2013年8月21日 14:41
  • 谢谢你的回答。

    我就是想问,在不同访问量下的优先处理方式。

    直接上传图片,跟方式二不是差不多吗?

    方式二需要先读取下数据库判断图片文件生成时间,才决定是重新绘图,还是读取图片文件。

    访问量大的情况下,建议上传图片,数据库中仅仅保留图片存于服务器上的相对路径,这样访问直接从服务器输出图片(建议图片是jpg或者png或者gif,又小又快)。

    If you think one reply solves your problem, please mark it as An Answer, if you think someone's reply helps you, please mark it as a Proposed Answer

    Help by clicking:
    Click here to donate your rice to the poor
    Click to Donate
    Click to feed Dogs & Cats


    Found any spamming-senders? Please report at: Spam Report

    2013年8月24日 5:31
  • 谢谢你的回答。

    我就是想问,在不同访问量下的优先处理方式。

    直接上传图片,跟方式二不是差不多吗?

    方式二需要先读取下数据库判断图片文件生成时间,才决定是重新绘图,还是读取图片文件。

    访问量大的情况下,建议上传图片,数据库中仅仅保留图片存于服务器上的相对路径,这样访问直接从服务器输出图片(建议图片是jpg或者png或者gif,又小又快)。

    If you think one reply solves your problem, please mark it as An Answer, if you think someone's reply helps you, please mark it as a Proposed Answer

    Help by clicking:
    Click here to donate your rice to the poor
    Click to Donate
    Click to feed Dogs & Cats


    Found any spamming-senders? Please report at: Spam Report

    谢谢

    按你的解释,读取硬盘图片显示到网页上,执行效率比读取数据库再绘图要高一些,是吧。

    用户直接上传图片,这个没有办法实现。

    1.计算数据后画图的程序,是在服务器端实现的,客户端上传图片的话,还得移植代码过去。

    2.目前客户端访问服务器端纯用sqlserver数据库操作。但图片是不是最好不要存数据库里了吧?是不是会增大存储压力。

    3.服务器端通讯结构简单,没有提供ftp服务和web服务供客户端上传图片。是以web页面公开供第三方访问。

    2013年8月25日 2:44