风讯官方论坛

首页 » FoosunCMS交流区 » 插件讨论 » 修改新闻时,选择“远程存图”时,出现“PicPath未定义”的错误信息,我在Function.asp中加入了:dim P
zcyzzzm - 2005-4-23 14:52:00

修改新闻时,选择“远程存图”时,出现“PicPath未定义”的错误信息,我在Function.asp中加入了:dim PicPath  但是仍然有此错误提示,怎么办啊?

zcyzzzm - 2005-4-23 15:57:00

另外一个问题:在采集新闻时,如果被采集的网站网页的图片采用根目录下的相对路径,图片远程保存将无法完成,如:


<IMG height=320 src="/Upload/2004_Pack/2003730141118.jpg" width=300 border=0>


但是网页路径为:/news/01.htm


这样采集将无法保存远程图片。。。。

海之鲲 - 2005-4-23 17:18:00

第一个问题:


将admin/info/NewsModifyWords.asp和admin/info/NewsModifyPic.asp中的:


Dim ITitle,IClassID,INewsTemplet,IClickNum,IAddDate,INewsAddObj,INewsAddSql,TitleBoldstr,TitleUstr


改为:


Dim ITitle,IClassID,INewsTemplet,IClickNum,IAddDate,INewsAddObj,INewsAddSql,TitleBoldstr,TitleUstr,PicPath


即可!


第二个问题admin/Collect/inc/Function.asp


将:


'==================================================
'函数名:ReplaceRemoteUrl
'作  用:替换字符串中的远程文件为本地文件并保存远程文件
'参  数:NewsContent ------ 要替换的字符串
'代码修改:e趣娱乐网(海之鲲)http://www.1qu.net
'==================================================
Function ReplaceRemoteUrl(NewsContent,SaveFilePath)
Dim re,RemoteFile,RemoteFileurl,SaveFileName,SaveFilePath1,FileName,FileExtName,RemoteFiles,dtNow,FileCount,arrSaveFileName,SaveFileType,ranNum,SavePath2,FsoObj,SaveFileName1
FileCount = 0
Set re = New RegExp
re.IgnoreCase = True
re.Global=True
re.Pattern = "((http|https|ftp|rtsp|mms):(\/\/|\\\\){1}((\w)+[.]){1,}(net|com|cn|org|cc|tv|[0-9]{1,3})(\S*\/)((\S)+[.]{1}(gif|jpg|png|bmp)))"
Set RemoteFiles = re.Execute(NewsContent)
Set re = Nothing
For Each RemoteFile in RemoteFiles
Set RemoteFiles = Nothing
  If FileCount = 0 Then
            Response.Write "<b>正在保存远程文件……请稍候!<font color='red'>在此过程中请勿刷新页面!</font></b> "
            Response.Flush
        End If
  dtNow = Now()
  RemoteFileUrl = RemoteFile.Value
  arrSaveFileName = Split(RemoteFileUrl, ".")
  SaveFileType = arrSaveFileName(UBound(arrSaveFileName))
  SavePath2 = Year(dtNow) & Right("0" & Month(dtNow), 2)
  SaveFilePath= "/"&UpFiles &"/"& BeyondPicDir
  SaveFilePath1 = SaveFilePath & "/" & SavePath2
  Set FsoObj = Server.CreateObject("Scripting.FileSystemObject")
  If Not FsoObj.FolderExists(Server.MapPath(SaveFilePath1)) Then
                FsoObj.CreateFolder Server.MapPath(SaveFilePath1)
            End If
 
  Randomize
        ranNum = Int(900 * Rnd) + 100
        SaveFileName = Year(dtNow) & Right("0" & Month(dtNow), 2) & Right("0" & Day(dtNow), 2) & Right("0" & Hour(dtNow), 2) & Right("0" & Minute(dtNow), 2) & Right("0" & Second(dtNow), 2) & ranNum
  SaveFileName1=SaveFileName& "." & SaveFileType
  Call SaveRemoteFile(SaveFilePath1 &"/"& SaveFileName1, RemoteFileUrl)
  NewsContent = Replace(NewsContent,RemoteFileurl, SaveFilePath1 &"/"& SaveFileName1)
 
 
  Set FsoObj = Nothing
  FileCount = FileCount + 1
  Response.Write "·"
        Response.Flush
Next
If FileCount > 0 Then Response.Write " <b><font color='blue'>共成功保存了 " & FileCount & " 张远程图片!</font></b><br>"
    ReplaceRemoteUrl = NewsContent
End Function


替换为:


'==================================================
'函数名:ReplaceRemoteUrl
'作  用:替换字符串中的远程文件为本地文件并保存远程文件
'参  数:NewsContent ------ 要替换的字符串
'代码修改:e趣娱乐网(海之鲲)http://www.1qu.net
'==================================================
Function ReplaceRemoteUrl(NewsContent,SaveFilePath,SiteUrl)
Dim re,RemoteFile,RemoteFileurl,SaveFileName,SaveFilePath1,FileName,FileExtName,RemoteFiles,dtNow,FileCount,arrSaveFileName,SaveFileType,ranNum,SavePath2,FsoObj,SaveFileName1
FileCount = 0
Set re = New RegExp
re.IgnoreCase = True
re.Global=True
re.Pattern = "src=[''""]{0,1}((\S)+[.]{1}(gif|jpg|png|bmp))[''""]{0,1}\s"
Set RemoteFiles = re.Execute(NewsContent)
Set re = Nothing
For Each RemoteFile in RemoteFiles
Set RemoteFiles = Nothing
  If FileCount = 0 Then
            Response.Write "<b>正在保存远程文件……请稍候!<font color='red'>在此过程中请勿刷新页面!</font></b> "
            Response.Flush
        End If
  dtNow = Now()
  RemoteFileUrl = RemoteFile.Value
  arrSaveFileName = Split(RemoteFileUrl, SiteUrl)
  SaveFileType = arrSaveFileName(UBound(arrSaveFileName))
  SavePath2 = Year(dtNow) & Right("0" & Month(dtNow), 2)
  SaveFilePath= "/"&UpFiles &"/"& BeyondPicDir
  SaveFilePath1 = SaveFilePath & "/" & SavePath2
  Set FsoObj = Server.CreateObject("Scripting.FileSystemObject")
  If Not FsoObj.FolderExists(Server.MapPath(SaveFilePath1)) Then
                FsoObj.CreateFolder Server.MapPath(SaveFilePath1)
            End If
 
  Randomize
        ranNum = Int(900 * Rnd) + 100
        SaveFileName = Year(dtNow) & Right("0" & Month(dtNow), 2) & Right("0" & Day(dtNow), 2) & Right("0" & Hour(dtNow), 2) & Right("0" & Minute(dtNow), 2) & Right("0" & Second(dtNow), 2) & ranNum
  SaveFileName1=SaveFileName& "." & SaveFileType
  Call SaveRemoteFile(SaveFilePath1 &"/"& SaveFileName1, RemoteFileUrl)
  NewsContent = Replace(NewsContent,RemoteFileurl, SaveFilePath1 &"/"& SaveFileName1)
 
 
  Set FsoObj = Nothing
  FileCount = FileCount + 1
  Response.Write "·"
        Response.Flush
Next
If FileCount > 0 Then Response.Write " <b><font color='blue'>共成功保存了 " & FileCount & " 张远程图片!</font></b><br>"
    ReplaceRemoteUrl = NewsContent
End Function


把admin/Collect/Collecting.asp


ReplaceRemoteUrl(ContentStr,SaveImagePath)


替换为:ReplaceRemoteUrl(ContentStr,SaveImagePath,SiteUrl)


以上方法没有测试,请测试!


[此贴子已经被作者于2005-4-23 17:18:57编辑过]

zcyzzzm - 2005-4-24 10:57:00
添加新闻和修改新闻同样有这种根目录相对路径图片不保存的问题,烦请也修改一下,,,谢谢。。。
zcyzzzm - 2005-4-24 10:58:00
以上测试正在进行,测试后马上反馈,,,
zcyzzzm - 2005-4-24 11:12:00

没有效果,一样的,不能采集保存图片


[此贴子已经被作者于2005-4-24 11:35:21编辑过]

zcyzzzm - 2005-4-24 11:16:00
采集站地址:http://www.7880.com/Info/

采集对象页:http://www.7880.com/Info/Info-22-Time-DESC-3.html

新闻摸板:/Templets/NewsClass/News.htm

列表开始字符:<div class="list_art_content">

列表结束字符:<div class="list_page"><form action="" method=post onChange=

列表URL开始字符:<a href="

列表URL结束字符:">

标题开始字符:<div id="art_title">

标题结束字符:</div>

内容开始字符:<div id="content">

内容结束字符:</div>

[此贴子已经被作者于2005-4-24 11:22:46编辑过]

海之鲲 - 2005-4-24 15:13:00

你说的本来就没有图片呀

海之鲲 - 2005-4-24 16:27:00

我测试过了,没有进行任何修改,也就是说我在三楼发的帖子,第二个问题根本就没有动,就完成了所有采集,你还原回去,然后按下面方法采集!
















































采集站点名称

站点分类

采集站地址

目标栏目

采集对象页

新闻摸板

锁定

列表开始字符

列表结束字符

列表URL开始字符

列表URL结束字符

标题开始字符

标题结束字符

内容开始字符

内容结束字符

zcyzzzm - 2005-4-24 23:01:00
不好意思,复制时出错,抱歉,重新更改一下,问题没有达到解决,采集时图片无法完成保存,另外即使到目标页:http://www.7880.com/Info/Article-43313ba0.html进行复制后添加新闻,都不能进行保存图片,除非将 <IMG src="/Upload/2005-01/1078502899255.jpg">改为:<IMG src="http://www.7880.com/Upload/2005-01/1078502899255.jpg">


采集站地址:http://www.7880.com/Info/

采集对象页:http://www.7880.com/Info/Info-101-Time-DESC-4.html

新闻摸板:/Templets/NewsClass/News.htm

列表开始字符:  <div class="list_art_content">

列表结束字符:  <div class="list_page"><form action="" method=post onChange=

列表URL开始字符:  <a href="

列表URL结束字符:  ">

标题开始字符:  <div id="art_title">

标题结束字符:  </div>

内容开始字符:  <div id="content">

内容结束字符:  <div class="viewpage"></div>

海之鲲 - 2005-4-25 12:56:00

OK~~~~~已经修正,请重新下载!


http://bbs.foosun.net/dispbbs.asp?boardid=6&id=127

1
查看完整版本: 修改新闻时,选择“远程存图”时,出现“PicPath未定义”的错误信息,我在Function.asp中加入了:dim P