【发布时间】:2011-04-21 09:58:41
【问题描述】:
祝大家今天好..
我正在开发一个 Asp.Net Web 应用程序,我必须在其中实现文件上传,但有点复杂:
为了更好地解释,应用程序在服务器“A”上运行..文件需要上传到完全不同的服务器“B”..
一旦客户端“C”通过站点接口上传文件,该文件必须实际上传到服务器B。
技术上我已经做到了:
- 客户从他的电脑上选择他要上传的文件,然后点击“上传”
- 在页面postBack期间”,服务器上传文件而不保存文件
- 我从 FileUploas 控件中获取 fileStream 并通过 ftp 将其发送到服务器“B”;
但是,通过这样做,实际上文件被传输了两次(C -> A -> B),使得文件上传的用户体验比平时更长..
我的问题是:是否可以通过站点界面(在服务器“A”上运行)打开“C”和“B”之间的“直接”连接,以执行单次传输?显然,我应该能够在下载过程中做同样的事情..
另一种选择(至少在上传期间)应该是通过在服务器“A”上保存一个临时文件来“隐藏”双重传输,然后将其重新传输到“B”开始一个单独的任务,这样用户将能够在“第一次”上传后在网站上执行新操作。
非常感谢任何建议(即使是完全不同的解决方案,我也会评估与我的项目的“兼容性”)
提前谢谢你,
阿尔伯托
注意:我选择使用 FTP,因为客户端必须能够选择他想要放置“B”服务器的位置(他可以使用“我们的”ftp,或者,如果他有的话,在那里发送文件)和我认为 FTP 是最“兼容”和“快速设置”的解决方案,ftp 的管理方式与服务器“B”平台类似。
【问题讨论】:
标签: asp.net http ftp file-transfer