asp后台kindeditor编辑器自动获取远程图片

asp后台kindeditor编辑器自动获取远程图片 

Const sFileExt = "jpg|gif|bmp|png"
Function ReplaceRemoteUrl(sHTML, sSaveFilePath, sFileExt)
	Dim s_Content
	s_Content = sHTML
	If IsObjInstalled("Microsof" & "t.X" & "MLHTTP") = False Then
		ReplaceRemoteUrl = s_Content
		Exit Function
	End If
	Dim re
	Dim RemoteFile
	Dim RemoteFileurl
	Dim SaveFileName
	Dim SaveFileType
	Dim arrSaveFileNameS
	Dim arrSaveFileName
	Dim sSaveFilePaths
	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}(" & sFileExt & ")))"
	Set RemoteFile = re.Execute(s_Content)
	For Each RemoteFileurl in RemoteFile
		arrSaveFileName = Split(RemoteFileurl,".")
		SaveFileType = arrSaveFileName(UBound(arrSaveFileName))
		RanNum = Int(900*Rnd) + 100
		arrSaveFileName = Year(Now()) & Right("0" & Month(Now()),2) & Right("0" & Day(Now()),2) & Right("0" & Hour(Now()),2) & Right("0" & Minute(Now()),2) & Right("0" & Second(Now()),2) & ranNum & "." & SaveFileType
		sSaveFilePaths = sSaveFilePath
		SaveFileName = sSaveFilePaths & arrSaveFileName
		If SaveRemoteFile("" & SaveFileName & "","" & RemoteFileurl & "") Then
			Response.Write "" & SaveFileName & " 图片保存成功. <br />"
			s_Content = Replace(s_Content,RemoteFileurl,SaveFileName)
		Else
			Response.Write "" & RemoteFileurl & " 图片保存<font color='#FF0000'>失败</font>.<br />"
		End If
	Next
	ReplaceRemoteUrl = s_Content
End Function
 
Function SaveRemoteFile(s_LocalFileName,s_RemoteFileUrl)
	Dim Ads
	Dim Retrieval
	Dim GetRemoteData
	On Error Resume Next
	Set Retrieval = Server.CreateObject("Microso" & "ft.XM" & "LHTTP")
	With Retrieval
		.Open "Get", s_RemoteFileUrl, False, "", ""
		.Send
		GetRemoteData = .ResponseBody
	End With
	Set Retrieval = Nothing
	Set Ads = Server.CreateObject("Ado" & "db.Str" & "eam")
	With Ads
		.Type = 1
		.Open
		.Write GetRemoteData
		.SaveToFile Server.MapPath(s_LocalFileName), 2
		.Cancel()
		.Close()
	End With
	Set Ads = Nothing
	If Err <> 0 Then
		SaveRemoteFile = False
		Err.Clear
	Else
		SaveRemoteFile = True
	End If
End Function
 
Function IsObjInstalled(s_ClassString)
	On Error Resume Next
	IsObjInstalled = False
	Err = 0
	Dim xTestObj
	Set xTestObj = Server.CreateObject(s_ClassString)
	If 0 = Err Then IsObjInstalled = True
	Set xTestObj = Nothing
	Err = 0
End Function

 

在编辑框文件中加入以下代码:

<input name="sSaveFileSelect" type="checkbox"  id="sSaveFileSelect" value="1"> 保存远程图片到本地

提交保存代码:

sSaveFileSelect = Request.Form("sSaveFileSelect")
sub_content = Request.form("content")
 
If sSaveFileSelect = 1 Then
	Set fso = Server.CreateObject("Scripting.FileSystemObject")
	yy = Right(Year(Date),4)
	mm = Right("00" & Month(Date),2)
	dd = Right("00" & Day(Date),2)
	uploaddate = yy & mm & dd
	uploadpath = "../uploads/image/" & uploaddate & "/" '//根据实际填写你自己图片地图
	If Not fso.FolderExists(Server.mappath(uploadpath)) Then
		fso.CreateFolder(Server.mappath(uploadpath))
	End If
	content = ReplaceRemoteUrl(sub_content,uploadpath,sFileExt)
Else
	content = sub_content
End If

 

 

亲测可用

版权所有,转载注意明处:不懂戀愛魚兒 » kindeditor编辑器远程图片本地化ASP插件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值