【>>--请问:这是Delphi本身的缺陷(致命的)吗?--<<】(100分)

  • 主题发起人 主题发起人 Neffpb
  • 开始时间 开始时间
N

Neffpb

Unregistered / Unconfirmed
GUEST, unregistred user!
问题1:
情况:用Delphi建立Web程序(CGI),其中CGI程序放在用户的Web服务器
下的拥有可执行权限的目录下;而网页则放在另一个目录中,同时网页中嵌入
的图片、Flash等则放在了网页所在目录下面的一个子目录里面。
问题是:当网页中的资源(图片、Flash等)采用相对于网页的“相对路径”
时,在通过Delphi处理用户请求,最后将结果交由Web服务器回传网页结果时,
图片、Flash等网页中的资源全部无法显示。请问,这是为什么?有什么方案能
解决么?

问题2:
情况:采用NMFTP控件做一个FTP Client控件。
问题:使用其List或NList方法取得服务器端的文件和目录名时,对于文件名
(或目录名)中有空格的文件名,不能得到其正确的文件名(如:服务器上有一个
名为“Next day"文件(或目录),使用NMFTP的命令只能得到"Next"的名字。请问:
这个问题有方案解决么? IndyFTP控件有这个缺陷么?

-------------------------------------
请大家不吝赐教,解我心中疑惑。 谢谢!
 
不可能有你所说的错误,一定是你路径设置的错误,请再检查一遍。
 
最常见:“../images/*.jpg”写成“images/*.jpg”
比如某目录有你的程序yy.cgi,有你的陈放图片等资源的文件夹"images"
一个action显示为http://xxxxxx/xxx/yy.cgi/Display,如果你在这里面
加连接的话,就应该是“../images/*.jpg”
 
同意楼上的说法。一般都这样分的,为安全起见,最好设定CGI只以执行权限。
 
To 憔悴:
你的意思是否如下:
假设在服务器的根目录下有两个文件夹:
* cgi-bin: 下面存放着CGI文件;
* Images: 下面存放了网页模板及网页中用到的图片;
你的意思是否说,如果在网页模板中为图片进行定位,则相对路径
应该写成:../Images/pic.jpg;而不是:pic.jpg。
你表达的就是这个意思吧?

不过,我已经试过了,你的做法是错误的。
 
请注意:
我所说的【图片】是指在网页模板内部引用的,用以修饰页面用的
图片,而非要通过Delphi回传一幅图片给用户。
 
To Neffpb
如果是你上面说的那样,如果你的CGI程序是test.cgi,访问的直接就是test.cgi
那么,你这样(../Images/pic.jpg)是正确的。
但是如果访问的是test.cgi/XXX这样的形式的话,就是说不是默认Action,那么
就应该是这样的:(../../Images/pic.jpg)
你好像对htm语法很不熟悉??
 
第一个问题:
最直接的办法就是把这些链接路径改为类似:http://www.xxx.com/img_dir/1.jpg,,
这样做肯定就不会出任何问题了。(当然,这样一来DREAMWEAVER编辑网页时可能就看不到
图片,不过你的是模块这问题不大)

第二个问题:
我想如果目录(文件)是你自己定义的,最好把"Next day"改为“Next_day",
可能在某些操作系统不能用这种目录(文件)名.



 
多人接受答案了。
 
后退
顶部