魅力博客

魅力Linux|魅力空间|魅力博客|学习Linux|ubuntu日记|电脑教程|手机软件

最近因为有个网站要弄个上传附件的功能,asp代码中关于文件名后缀判别及连接网址替换



最近因为有个网站要弄一个文件上传功能,但是网站服务器本身的空间有限,就想到了千脑网盘的上传空间,利用这个空间的js调用代码,能很轻松的实现在我的网站添加上传附件功能,另外,因为现在千脑空间的图片可以外链了,但是我们上传的jpg等图片在本地网站上传完成都是显示下载地址,没有贴图地址。。这可怎么办,在CSDN的朋友的帮助下,终于搞弄好了在本地实现上传图片文件等到下载地址后转换为图片实际地址的功能。

其实这是一个很简单的正则表达式,对于懂的朋友们来说小菜一碟,但是对于我们这些菜鸟来说,那可就高深了。呵呵。在此谢谢bingchuancom999兄弟的帮助。

下面是我原先的简单要求:

我想要在asp的发帖编辑器中实现自动识别图片转为贴图:就如以下两个地址:
http://pic.qnpic.com:83/r.jsp?fn=//share10/-4e0a-4f20-5206-4eab/2011/4/5/0_(41).jpg

http://down.qiannao.com/space/file/share10/-4e0a-4f20-5206-4eab/2011/4/5/0_(41).jpg/.page
上面这量个地址的文件都是一样的。如何做才能在“论坛发帖编辑器”中插入链接自动识别并转换链接地址:
如:
输入http://down.qiannao.com/space/file/share10/-4e0a-4f20-5206-4eab/2011/4/5/0_(41).jpg/.page
则自动替换为:
http://pic.qnpic.com:83/r.jsp?fn=//share10/-4e0a-4f20-5206-4eab/2011/4/5/0_(41).jpg
这个格式。。
若是其他格式的如rar。zip其他的则不理睬
我发现这两个地址,就是
【http://pic.qnpic.com:83/r.jsp?fn=】
【http://down.qiannao.com/space/file】和【.jpg/.page】
之间的替换即可。
如果能够把代码设为如下图那样的转换方法也行:

或者建立js调用:
<td height="30" colspan="2" align="left"> <iframe id="qn_upload" style="width:70%;height:60px;" src="我的网址/inc/qnupload.jsp?id=share10" frameborder="0" width="95%" allowTransparency></iframe></td>
这样的调用也行。请高人指点。谢谢诸位。

========================

hongmei85朋友给出了这样一个代码:但是我试了不行,大家请看:

这样?
<script type="text/vbscript">
<!--
s = "<a href='http://down.qiannao.com/space/file/share10/-4e0a-4f20-5206-4eab/2011/4/5/0_(41).jpg/.page' target='_blank'>sdfsdfsd</a>"
Set oRe = New RegExp
oRe.Pattern = "http:\/\/down\.qiannao\.com\/space\/file\/(.+)\/\.page"
oRe.Global = True
oRe.IgnoreCase = True


msgbox(oRe.replace(s,"http://pic.qnpic.com:83/r.jsp?fn=//$1"))
//-->
</script>

=====================最后是我只能求其次:

还是请大家给我一个我如下图这样的,可以js调用手工转换的代码吧。。。看来很难的样的。

应为编辑器里自动识别了非jpg,gif。png等后缀文件自动转换未
<P>试试。测试用的。</P>
<P><p style="text-align:center;"><IMG SRC="UpFile\2011\4\20114101549653823ok.jpg" border=0></p></P>
<P><p style="text-align:center;"><IMG SRC="http://pic.qnpic.com/r.jsp?fnshare10/-4e0a-4f20-5206-4eab/2011/4/5/0_(41).jpg/.page" border=0></p><A href="http://pic.qnpic.com/r.jsp?fnshare10/-4e0a-4f20-

5206-4eab/2011/4/5/0_(41).jpg/.page" target=_blank></A></P>
这样的代码。第一个是我用gif后缀通过添加图片的方式添加上去的,就能正确显示,第二个是我用.gif/.page后缀通过编辑器添加图片的方式添加上去的,但是被自动转换为<a href=格式了。
退而求其次,只要能手工转换就行了。能把
http://down.qiannao.com/space/file/share10/share/2011/4/6/avfx.gif/.page
这样的地址手工转换未:
UpFile\2011\4\20114101549653823ok.jpg
这样就行了。拜托各位了。谢谢。
=================================================

这次有了bingchuancom999兄帮忙,问题得到解决:

以下是bingchuancom999兄原话:

我简单写了一个, 可以实现转换你举出的例子, 具体细节你再优化一下。

HTML code代码:

<html>
<head>
<script type="text/javascript">
function convert()
{
var origin_pattern_pre = /^http\:\/\/down\.qiannao\.com\/space\/file/gi;
var origin_pattern_suf = /\/\.page$/gi;
var target_pre = encodeURI("http://pic.qnpic.com:83/r.jsp?fn=");

var origin = document.getElementById("origin").value;
var target = document.getElementById("target");

if(origin_pattern_pre.test(origin) == true && origin_pattern_suf.test(origin) == true){
var str = origin.replace(origin_pattern_pre, target_pre);
str
= str.replace(origin_pattern_suf, "");
target.value
= str;
}
else{
alert(
"输入不符合要求");
}

}
</script>
</head>
<body>

<table>
<tr>
<td><label for="origin">文件下载地址:</label></td>
<td><input type="text" id="origin" style="width: 500px" /></td>
</tr>
<tr>
<td colspan="2" align="right"><input type="button" value="转换" style="width: 100px;" onclick="convert();"/></td>
</tr>
<tr>
<td><label for="target">贴图地址:</label></td>
<td><input type="text" id="target" style="width: 500px" /></td>
</tr>
<table>
</body>
</html>

================

最后我在我的后台调用:把上面的代码存为qntp.asp,然后再我要调用的页面里调用:

<p>网友文件分享:</p>
<p><iframe id="qn_upload" style="width:70%;height:177px;" src="http://upload.qiannao.com/tomos/ui/qnupload.jsp?id=cs772421" frameborder="0" width="95%" allowTransparency>
</iframe></p><br>
<p><iframe id="tupianzhuanhuan" style="width:70%;height:177px;" src="/qntp.asp" frameborder="0" width="95%" allowTransparency>
</iframe></p><br>

呵呵,事情搞定。

写出来是为了与大家分享,也为做个备忘录。同时也感谢bingchuancom999兄得帮助。

看效果大家可以看看这里:文件分享

我的问题提问原帖:http://topic.csdn.net/u/20110405/20/3f6336e8-4739-45dd-a177-9221818f0f4d.html  贴子已经被我关闭,大家要讨论可以在此帖里回复讨论。



返回顶部

发表评论:

Powered By Z-BlogPHP 1.7.3


知识共享许可协议
本作品采用知识共享署名 3.0 中国大陆许可协议进行许可。
网站备案号粤ICP备15104741号-1