广告位 后台主题配置管理 |
广告位 后台主题配置管理 |
今天给各位分享asp上传文件到服务器代码的知识,其中也会对asp上传文件到服务器代码错误进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本地如果可以配置IIS的话,本地ASP读取文件发给服务器上的某个文件去接收,这个比较容易搞定。如果本地不方便弄IIS的话,那就用JS方式选择文件提交表单去上传。百度搜索JS根据路径上传文件就能找到一些参考代码。
html
head
meta http-equiv="Content-Type" content="text/html; charset=gb2312"
title无标题文档/title
/head
body
%
'On Error Resume Next
Response.Expires=0
if Request.TotalBytes then
set a=createobject("adodb.stream")
a.Type=1
a.Open
a.write Request.BinaryRead(Request.TotalBytes)
a.Position=0
b=a.Read
c=chrB(13)chrB(10)
d=clng(instrb(b,c))
e=instrb(d+1,b,c)
set f=createobject("adodb.stream")
f.type=1
f.open
a.Position=d+1
a.copyto f,e-d-3
f.Position=0
f.type=2
f.CharSet="GB2312"
g=f.readtext
f.Close
h=mid(g,instrRev(g,"\")+1,e)
i=instrb(b,cc)+4
j=instrb(i+1,b,leftB(b,d-1))-i-2
if j 1 then
set f =nothing
set a =nothing
response.write "未选择要上传的文件a href='?'重新上传/a"
response.end
end if
f.Type=1
f.Open
a.Position=i-1
a.CopyTo f,j
h = Mid(h, InStrRev(h, "filename=""") + 10) '这是我帮你添加的,文件名的获取没有正确
f.SaveToFile server.mappath("/EXCEL/" h),2
f.Close
set f=Nothing
a.Close
set a=Nothing
'response.write "a href="Server.URlEncode(h)""h"/a"
end if
If Err.number 0 Then
response.Write err.number
response.Write err.Description
Response.End
End If
%
script language="javascript"
function checkupload() {
if (document.upload_form.fe.value == "") {
alert("未选择要上传的文件");
return false;
}
}
/script
form name="upload_form" enctype="multipart/form-data" method="post" onsubmit="return(checkupload())"
input type="file" name="fe"/
input type="submit" value="上传" name="B1"/
/form
/body
/html
我用映射网络盘的形式,可是程序无法将文件保存到网络映射盘上.
假设有服务器A是web服务器,文件要通过A服务器上的web程序上传到B上面
1、在B上面共享一个文件夹,记得设置好权限,给某个用户有写入的权限
2、在A服务器上的网站下面建立一个虚拟目录,虚拟目录的指向改为另外一台计算机上的共享,输入刚才设定的用户帐号和密码
3、在A服务器上传的时候,通过server.mappath("虚拟目录")名来获取上传地址
4、解决权限问题,只有在建立信任的基础上,你才能向B服务器上传文件,建议在Global.asax中加载,这样网站一运行就建立了信任,不用每次都去建立。建立信任的语句:
System.Diagnostics.Process.Start("net.exe", "use \\\\B服务器的IP\\共享文件夹 \"B服务器上的密码\" /user:\"B服务器上的用户名\"");
上面提到的B服务器上的用户是指能写入那个共享文件夹的用户!
记得你那个用户要能运行net.exe文件的权限!
简单的测试虚拟目录设置是否正确!
假设A是你web站点的服务器 B是你要上传文件的服务器
2、 在A服务器web站点下面建立一个虚拟目录,默认加虚拟目录的时候是没得选择其他服务器的共享文件夹的,你先随便选择一个本地的路径,建立好之后,点击该 虚拟目录的属性,在更改本地路径的上面,有3个选择,你选择另一台计算机上的共享,接着设置网络路径,格式是这样的:\\{服务器}\{共享名}, {服务器}用IP来代替,{共享名}就是那个upload文件夹,填好之后点击后面的连接用户,输入刚才在B服务器上用户test 和密码123456(当然,简单一点,你最好先测试一下,确定A服务器能访问B服务器共享的文件夹,如果A都不能访问B的共享,那你先解决这个问题先,测 试的方法很简单,在浏览器里输入\\B服务器的IP\upload,如果能输入用户和密码之后能看到你刚才随便建的那个文件,OK,共享是可以访问的)
3、虚拟目录设置好了之后,你可以测试一下,在A的web站点下面通过程序获取一下虚拟目录的路径,如果是成功的,路径应该是服务器B的IP+upload文件夹。
4、 接下来的工作就是上传文件了,这个时候你直接上传应该都是可以的,应该你刚才已经输入过访问B服务器upload的帐号和密码,也就是说A和B已经建立了 信任连接,不过如果你重启服务器,刚才建立的连接也就不存在了。所以在A服务器web站点的Global.asax文件里加载一句话,让A服务器站点启动 的时候就和B建立信任连接
System.Diagnostics.Process.Start("net.exe", "use \\\\B服务器的IP\\upload \"123456\" /user:\"test\"");
上面的语句就是建立信任连接的,放在global.asax的好处就是站点启动就建立连接,因为这种信任连接是可持续性的,不会象session一样过期,只有在重启A服务器的时候这种信任连接才会消失。
不晓得你明白没有?不过我可以肯定,这个是可以实现的,因为我刚刚做过这块。
asp上传文件到服务器代码的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于asp上传文件到服务器代码错误、asp上传文件到服务器代码的信息别忘了在本站进行查找喔。
广告位 后台主题配置管理 |
广告位 后台主题配置管理 |