asp.net如何把文件上传到另外一台服务器?

rongys 2007-12-06 11:00:30
相关的问题看了也不少.
具体思路是
假设有服务器A是web服务器,文件要通过A服务器上的web程序上传到B上面
1、在B上面共享一个文件夹,记得设置好权限,给某个用户有写入的权限
2、在A服务器上的网站下面建立一个虚拟目录,虚拟目录的指向改为另外一台计算机上的共享,输入刚才设定的用户帐号和密码
3、在A服务器上传的时候,通过server.mappath( "虚拟目录 ")名来获取上传地址

虚拟目录的名称是nt10 路径是“\\172.18.1.110\OAFJ”
现在可以获取到上传地址,可运行程序
If Not System.IO.Directory.Exists(Server.MapPath(("nt10"))) Then

'新建文件夹
MkDir(Server.MapPath("nt10\OAFJ_LS\") & intspID)
End If
却提示 未找到路径“\\172.18.1.110\OAFJ”的一部分。
...全文
494 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
rongys 2008-04-14
  • 打赏
  • 举报
回复
?
rongys 2008-04-14
  • 打赏
  • 举报
回复
?
rongys 2007-12-26
  • 打赏
  • 举报
回复
如果有人能解决的话,有RMB报酬.谢谢!
rongys 2007-12-26
  • 打赏
  • 举报
回复
唉,连一个会的人都没有.
rongys 2007-12-11
  • 打赏
  • 举报
回复
这个问题好难啊!
artoksxb 2007-12-07
  • 打赏
  • 举报
回复
post到另一台服务器的asp.net上就行了
rongys 2007-12-07
  • 打赏
  • 举报
回复
to:artoksxb
我的想法是指定好路径,客户端上传的附件直接放到服务器B上.
可以对其进行删除等操作.
请问怎么post,可以具体说说吗?
luyuanzhiwindows 2007-12-06
  • 打赏
  • 举报
回复
学习中
rongys 2007-12-06
  • 打赏
  • 举报
回复
to:Avoid
可是还要对文件进行删除等操作,那样可以吗?

to:qinhl99
通过作业同步是什么意思,可以具体解释一下吗?谢谢
Avoid 2007-12-06
  • 打赏
  • 举报
回复
个人认为跨站点虚拟目录是无法实现的。

改变一下思路,现把上传的文件放在A机器上,然后再用代码COPY到B机器上。
qinhl99 2007-12-06
  • 打赏
  • 举报
回复
通过作业来同步就可以了,不需要在程序中实现啊
Avoid 2007-12-06
  • 打赏
  • 举报
回复
跨站点虚拟目录。。。

rongys 2007-12-06
  • 打赏
  • 举报
回复
可是改成下面这样还是不对啊.
If Not System.IO.Directory.Exists(Server.MapPath(("nt10\OAFJ_LS\") & intspID)) Then
MkDir(Server.MapPath("nt10\OAFJ_LS\") & intspID)
End If
不是判断问题吧,在本机上运行没问题啊.就是要把附件存到B机上时找不到路径.
LAOC 2007-12-06
  • 打赏
  • 举报
回复
//判断目录(文件夹)是否存在
System.IO.Directory.Exists(folderName)

你这里的“Server.MapPath(("nt10"))”不是文件夹名,而是路径。
应该是这里错了。
rongys 2007-12-06
  • 打赏
  • 举报
回复
to:LAOC
172.18.1.110 是B的IP地址.
OAFJ是B上面的共享文件夹
那新建文件夹那里应该怎么写呢?

虚拟目录的名称是nt10已经指定路径“\\172.18.1.110\OAFJ”
还得写盘符吗?
istart123 2007-12-06
  • 打赏
  • 举报
回复
I think the best way to handle cross-server file transfer is "Dot-net remoting + Window Service".
Web page normally only has "weak" account, i.e, security will often block the access. However, the actually design is not an easy task
rongys 2007-12-06
  • 打赏
  • 举报
回复
to:LOAC
172.18.1.110 是B的IP地址.
OAFJ是B上面的共享文件夹
那新建文件夹那里应该怎么写呢?
LAOC 2007-12-06
  • 打赏
  • 举报
回复
172.18.1.110就是那B的IP地址吗?
还有,使用 MkDir 函数创建目录的话,如果未指定驱动器,则在当前驱动器上创建新目录;
既然你指定了地址的话,貌似还要加上盘符,比如“C:\”。
rongys 2007-12-06
  • 打赏
  • 举报
回复
to:LAOC
你好,意思是把那个路径再写进Server.MapPath("。。。\。。。\")
LAOC 2007-12-06
  • 打赏
  • 举报
回复
//取得与Web服务器上的指定虚拟路径相对应的物理文件路径
Server.MapPath("。。。\。。。\")

所以,感觉你这里的路径不对。
加载更多回复(1)
ASP(Active Server Pages)是Microsfot公司1996年11月推出的WEB应用程序开发技术,它既不是一种程序语言,也不是一种开发工具,而是一种技术框架,不须使用微软的产品就能编写它的代码,能产生和执行动态、交互式、高效率的站占服务器的应用程序。运用ASP可将VBscript、javascript等脚本语言嵌入到HTML中,便可快速完成网站的应用程序,无需编译,可在服务器端直接执行。容易编写,使用普通的文本编辑器编写,如记事本就可以完成。由脚本在服务器上而不是客户端运行,ASP所使用的脚本语言都在服务端上运行,用户端的浏览器不需要提供任何别的支持,这样大提高了用户与服务器之间的交互的速度。此外,它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。 之后,微软又推出ASP.NET。这不是ASP的简单升级,而是全新一代的动态网页实现系统,用于一台WEB服务器建立强大的应用程序。是微软发展的新体系结构.NET的一部分,是ASP和.NET技术的结合。提供基于组件、事件驱动的可编程网络表单,大大简化了编程。还可以用ASP.NET建立网络服务。 ASP与ASP.NET的区别: 1.开发语言不同 ASP仅局限于使用non-type脚本语言来开发,用户给WEB页中添加ASP代码的方法与客户端脚本中添加代码的方法相同,导致代码杂乱。 ASP.NET允许用户选择并使用功能完善的strongly-type编程语言,也允许使用潜力巨大的.NET Framework。 2.运行机制不同 ASP是解释运行的编程框架,所以执行效率比较低。ASP.NET是编译性的编程框架,运行是服务器上的编译好的公共语言运行时库代码,可以利用早期绑定,实施编译来提高效率。 3.开发方式 ASP把界面设计和程序设计混在一起,维护和重用困难。ASP.NET把界面设计和程序设计以不同的文件分离开,复用性和维护性得到了提高。 ASP.NET更好些。 ASP.NET与ASP的主要区别在于前者是编译(Compile)执行,而后者是解释(Interpret)执行,前者比后者有更高的效率。实际上我们可以把ASP.Net的执行过程看做是编译后的普通语言运行时代码充当一个和前端浏览器和中间件用户交互的应用程序,它接受用户的请求,输出HTML流到客户端显示。除此之外,ASP.Net还可以利用.Net平台架构的诸多优越性能,如类型安全,对XML,SOAP, WSDL等 Internet标准的强健支持。
一个基于ASP.NET Core的可伸缩、通用的文件服务器。 通常后端项目可能会有头像、图片、音频、视频等上传/下载需求,这些需求都可以抽象为文件服务。 功能特点 支持Linux(推荐)、Windows 可伸缩式架构,支持部署1-N台文件服务器 RESTful架构的API接口,支持多语言客户端 支持文件秒传、断点续传、远程拉取上传 支持为用户指定磁盘空间配额 支持自定义文件处理器 系统架构 文件的上传/下载通常由客户端直接与文件服务器交互,上传时需要提供代表用户身份token(由业务服务器生成),成功后会返回文件根地址。 也可以直接由业务服务器上传返回文件根地址给客户端。 源码中包含基于.Net Standard的服务端SDK,可以生成token、上传文件等 源码中包含基于.Net Standard的客户端SDK,可以上传/下载文件等 后端使用 配置业务服务器 //Startup.cs代码片段 public void ConfigureServices(IServiceCollection services) { //.... services.AddFileService(opts => { opts.Host = "fs.mondol.info"; //文件服务器域名 opts.AppSecret = "xxxxxx"; //加密密钥,需要与文件服务器相同 }); } 生成访问令牌 IFileServiceManager fileSvceMgr; //此实例可通过DI框架获得 //根据业务规定其意义,例如:1-代表管理员,2-代表用户 var ownerType = 2; var ownerId = 2; //如果ownerType=2,则为用户ID var validTime = TimeSpan.FromDays(2); //token有效期 var ownerToken = fileSvceMgr.GenerateOwnerTokenString(ownerType, ownerId, validTime); 前端使用 文件上传 IFileServiceClient fileClient; //此实例可通过DI框架获得 var ownerToken = "业务服务器返回的token"; var periodMinute = 0; //有效期,0不过期 var updResult = await fileClient.UploadAsync(ownerToken, "文件路径", periodMinute); var url = updResult.Data.Url; //得到文件根地址 标签:文件服务器

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧