| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1808 人关注过本帖
标题:这种问题是和代码编写有关还是和操作系统或者IIS设置有关系,还是和文件夹权 ...
取消只看楼主 加入收藏
sjzfls
Rank: 1
等 级:新手上路
帖 子:119
专家分:0
注 册:2007-5-11
结帖率:0
收藏
 问题点数:0 回复次数:7 
这种问题是和代码编写有关还是和操作系统或者IIS设置有关系,还是和文件夹权限有关系
我自己的机器做服务器,操作系统是 XPsp2+IIS。

做了个小网站,新闻发布系统是图片上传到 UpImages 文件夹(并按时间从新命名),在access2003中保存图片路径,然后在首页显示新闻内容和图片。

在本机测试 上传图片和显示一切正常,可是用同事的机器(也是XP系统),在上传图片时出现错误(上传文字内容没问题),错误如下:

技术信息(用于支持人员)

错误类型:
ADODB.Stream (0x800A0BBA)
文件无法被打开。
/rocksjz/function.asp, 第 20 行


浏览器类型:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1)

网页:
POST 199 ??? /rocksjz/admin_add.asp

POST Data:
title=%D4%DA%B1%F0%B4%A6%B2%E2%CA%D4%C9%CF%B4%AB%CD%BC&newsclass=15&imagespath=D%3A%5CMy+Documents%5CMy+Pictures%5C186.jpg&content=%D4%DA%B1%F0%B4%A6%B2%E2%CA%D4%C9%CF%B4%AB%CD%BC&Submit=%CC%E1%BD%BB

我自己的机器做服务器,操作系统是 XPsp2+IIS ,测试都没有问题,我和同事们是局域网。

看了文件function.asp第20行代码是: objStream.LoadFromFile imagespath

出现这种问题难道和操作系统或者IIS设置有关系,还是和文件夹权限有关系呢 ?
搜索更多相关主题的帖子: IIS 文件夹 操作系统 浏览器 服务器 
2008-03-26 15:32
sjzfls
Rank: 1
等 级:新手上路
帖 子:119
专家分:0
注 册:2007-5-11
收藏
得分:0 
iis中已经开启 父路径了,不知道文件夹权限 怎么设置啊?
我的硬盘是NTFS格式
(难道以后我上传到其他服务器上,还能改人家的文件夹权限吗?)

[[it] 本帖最后由 sjzfls 于 2008-3-26 17:24 编辑 [/it]]
2008-03-26 17:21
sjzfls
Rank: 1
等 级:新手上路
帖 子:119
专家分:0
注 册:2007-5-11
收藏
得分:0 
文件夹权限指的:(网站所属文件夹和windows\temp)--》属性--》安全--》users 添加完全控制权限

属性里怎么没有啊?
2008-03-26 17:38
sjzfls
Rank: 1
等 级:新手上路
帖 子:119
专家分:0
注 册:2007-5-11
收藏
得分:0 
找到权限安全设置了

不过郁闷的是.设置了权限怎么也不行啊~~~

我 在 安全里 把users 的权限设置成了  全部~~  可在别处上传图片还是不行~
2008-03-26 18:11
sjzfls
Rank: 1
等 级:新手上路
帖 子:119
专家分:0
注 册:2007-5-11
收藏
得分:0 
路径问题~~~

那应该怎么修改呢?
2008-03-27 08:45
sjzfls
Rank: 1
等 级:新手上路
帖 子:119
专家分:0
注 册:2007-5-11
收藏
得分:0 
又发现,怎么有些图片能传,有些传不了啊~~~

彻底郁闷了饿~
2008-03-27 17:40
sjzfls
Rank: 1
等 级:新手上路
帖 子:119
专家分:0
注 册:2007-5-11
收藏
得分:0 
这是我的 function.asp 的代码

<!--#include file="adovbs.inc"-->
<%       '功能:取得服务端相对图片路径
       '参数:客户端图片路径
       '返回值:图片路径
       Function GetFileName(imagespath)
              If imagespath <> "" Then
                     GetFileName = "Upimages/" & year(now)&month(now)&day(now)&hour(now)&minute(now)&second(now)&Right(imagespath,4)
              Else      
                     GetFileName =""
              End If
       End Function
      
       '功能:用stream组件上传图片
       '参数:客户端图片路径
       '返回值:成功返回1,失败返回0
       Function upImages(imagespath)
              Set objStream = Server.CreateObject("ADODB.Stream")
              objStream.Type = 1 ' adTypeBinary
              objStream.Open
              objStream.LoadFromFile imagespath
              objStream.SaveToFile Server.MapPath(GetFileName(imagespath)),adSaveCreateOverWrite
              objStream.Close
              If ERR.number<>0 Then
                     upImages = 0
              Else
                     upImages = 1
              End If
       End Function
      
       '功能:将空格与回车符等转换成html语法格式
       '参数:新闻信息内容
       '返回值:字符串中的空格与回车符被等转换成html语法格式
       Function unHtml(content)
              unHtml=content
              If content <> "" Then
                     unHtml=replace(unHtml,"&","&")
                     unHtml=replace(unHtml,"<","&lt;")
                     unHtml=replace(unHtml,">","&gt;")
                     unHtml=replace(unHtml,chr(34),""")
                     unHtml=replace(unHtml,chr(13),"<br>")
                     unHtml=replace(unHtml,chr(32),"&nbsp;")
              End If
       End Function
%>


图片目录在 根目录的  Upimages 文件夹下~~  请求大家的帮助啊~~~
2008-03-28 10:39
sjzfls
Rank: 1
等 级:新手上路
帖 子:119
专家分:0
注 册:2007-5-11
收藏
得分:0 
经过很多的请教和查找 我发现 最根本的错误是在于 ADODB.stream做上传的问题.

ADODB.Stream对象的LoadFromFile方法读取的是本机的绝对路径,如果写在ASP代码中,那么所谓的本机是指服务器,而不是通过浏览器上网的客户机。调试时如果在本机用IIS发布的话,当然能工作,因为存在相同的路径和文件。实际使用时,这个程序是十分失败的,代码犯了概念性错误。不可以用stream读客户端数据。

我想请教大家,就我的那个 funtion.asp 要怎么修改 才能解决问题呢??
2008-03-28 14:44
快速回复:这种问题是和代码编写有关还是和操作系统或者IIS设置有关系,还是和文 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.028826 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved