设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

12345下一页
返回列表 发新帖
查看: 9266|回复: 38
打印 上一主题 下一主题

我的图片显示方案以及ADP/SQL/ASP.NET成套解决方案

[复制链接]
跳转到指定楼层
1#
发表于 2003-10-30 22:11:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本人最近在帮别人定制一个小小的系统,以便让一个小小的贸易公司能提高效率。

在进行到产品维护的时候,对方要求最好能在浏览产品的同时也能显示一幅小的图片。这个能大大增加系统功能的说服力,所以我也答应了。在具体实施过程中,走了不少弯路,主要的问题是安全性和方便性不能同时得到保证。

目前的解决方案,我认为在安全性、方便性和性能之间找到了某种较佳的平衡。下面我就把我的方案思路告诉你们。我想有经验的开发人员能够立即明白,而且能够开发出更好的方案来。

本帖被以下淘专辑推荐:

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖1 订阅订阅
2#
 楼主| 发表于 2003-10-30 22:19:00 | 只看该作者
系统结构是比较简单的:

服务器:                                                                                 
[域控制器](提供域用户身份认证)
[数据库服务器](采用windows身份认证)
[IIS服务器-内网网站] (网站采用windows身份认证)

客户端:
ADP客户端程序
IE浏览器
加入域。

如果是工作组的情况,服务器是同一台机器,这样也完全一样。

业务数据库放在sql server中,图片目录随意,例如c:\photos,当然,用c:\_jjf67HFw832i92之类的更好些。连猜都猜不到。设置这个目录的用户权限。建立图片虚拟目录在内网网站上,可以读写。

基本的部署就这些了。下面看一些开发的效果图。
3#
 楼主| 发表于 2003-10-30 22:26:00 | 只看该作者
今天怎么回事,上传图片总是不成功。等下次好了我再把这个话题续完。
[em03][em03][em03]
4#
 楼主| 发表于 2003-10-30 23:21:00 | 只看该作者
大概是我的浏览器设置偏严格了。文件都上传了,今天还剩下2个。

这个是用户在ADP里面操作时候的情况。当光标在列表中移动时,下面详细内容,包括图片,也一起跟着变化。


[此贴子已经被作者于2003-10-30 15:25:30编辑过]

5#
 楼主| 发表于 2003-10-30 23:48:00 | 只看该作者
窗体的current事件程序:


每当一条记录显示以后,用webBrowser5这个浏览器控件调用ASP.NET中的thumbnail.aspx来显示一个产品图片的缩略图。你可以看到,由于传递的参数是productID,即产品编号,所以用户根本不知道图片的位置在哪里。同时将“放大或修改图片”的连接指向正确的位置。

速度非常非常快。服务器是普通的pc机,PIII 667,512M便宜的现代内存,是域控制器、数据库服务器和WEB服务器。

当用户选择“放大或修改图片”时,在新的浏览器窗口打开thumbnail(只读用户)或者pictureUpload网页(全权用户)。

在图中的代码中,PRODUCT_PICTURE_URL是个常量,但是并非图片储存的实际或者虚拟目录,而是thumbnail.aspx和pictureUpload.aspx的路径。实际的内容例如:
"http://mainServer/utility/"。

thumbnail.aspx的后面除了接受产品编码以外,还接受缩略图尺码,这里是140x110(目前实际是按比例输出,所以只用了一个140,即宽度)。在显示大图片的时候,就定为800。
6#
 楼主| 发表于 2003-10-30 23:57:00 | 只看该作者
下面来看网站中的thumbnail.cs中主要部分
为了显示,把处理其他各式的部分,catch错误处理部分省略了。



可以看到实际的路径和数据库处理方法在这儿。由于.cs文件最后都编译成.dll文件放在/bin下面,所以即使可以得到这些文件,还是不知道系统的具体处理方法。

程序的开头部分接受传进来的productID, height, width三个参数,然后连接数据库,得到该产品的实际图片文件名称,然后处理产生缩略图输出。比较简单。
7#
 楼主| 发表于 2003-10-30 23:59:00 | 只看该作者
图片配额用完。明天继续。
8#
发表于 2003-11-1 19:27:00 | 只看该作者
很好!请继续!
9#
 楼主| 发表于 2003-11-3 06:49:00 | 只看该作者
点击“方法或修改图片”后,就可以在一个浏览器窗口中上传图片。注意地址,根本没有照片的路径。事实上,即使万一让用户知道了实际照片路径,他也没有权利修改照片,因为照片目录根本就不共享。照片的修改权是在IIS中给asp.net的机器帐户的。

假定你了解ASP.NET的authentication和authorizaton,我想这些都不是什么问题。



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
10#
 楼主| 发表于 2003-11-3 06:52:00 | 只看该作者
如果是只读用户,他应当调用thumnail.aspx显示一幅大尺寸的图片。因为我们的ASP.NET登录也是用windows集成安全方式,所以只读的用户无法打开pictureUpload.aspx这页面。

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-4-29 23:02 , Processed in 0.102557 second(s), 36 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表