我有一个上传文件的服务,效果很好。
是否可以将文件上传提交到asp.net方法(如普通上传),但随后将上传文件详细信息转发给远程服务。因此使用asp.net方法作为代理而不是实际的上传方法?
实际的文件保存将在远程服务中完成。
请注意 我正在使用c#和.net 3.5
此致
答案 0 :(得分:2)
如果您使用的是ASP.NET方法,则必须将文件上传到服务器。但是,不必使用“SaveAs”方法或任何其他方法进行保存。您可以直接以流形式访问该文件,如果可以向其发送流,则可以将其传递给其他服务。
这个想法在这篇博文中有所解释(使用略有不同但同样的想法):
http://weblogs.asp.net/meligy/archive/2008/02/18/unit-test-friendly-file-upload-handling-in-n-tier-applications.aspx
因此,如果您的远程服务调用可以简化为如下方法:
public void MyServiceMethod(Stream inputStream) { ........ }
您可以从页面传递文件内容,而不用以下方式保存:
myService.MyServiceMethod(myFileUploadControl.PostedFile.InputStream);