积极答复者
My.Computer.Network.UploadFile()上载文件,为何服务器端接收的文件内容为空?

问题
-
在客户端执行 My.Computer.Network.UploadFile("c:\abc.doc", "http://172.16.119.222/Default.aspx"),无错信息,但在服务器端接收的文件内容为空,不知是否与服务器的安全设置有关,请高人指点.
答案
-
您好(韦恩卑鄙) :
在前面的调试中,接收页用了fileupload控件 ,才产生了空内容的xxx.txt的文件,去掉fileupload控件后出现下面的错误;我认为是
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
My.Computer.Network.UploadFile("e:\xxx.txt", "http://172.16.119.222/asp/ts/testb1.aspx")End Sub
没有生效.敬请您给予分析,谢谢!
“/asp”应用程序中的服务器错误。
索引超出范围。必须为非负值并小于集合大小。
参数名: index说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.ArgumentOutOfRangeException: 索引超出范围。必须为非负值并小于集合大小。
参数名: index
源错误:
行 4: 行 5: Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 行 6: Me.Request.Files(0).SaveAs("e:\asp\xxx.txt") 行 7: End Sub 行 8: End Class
源文件: E:\ASP\ts\testb1.aspx.vb 行: 6
堆栈跟踪:
[ArgumentOutOfRangeException: 索引超出范围。必须为非负值并小于集合大小。 参数名: index] System.Collections.ArrayList.get_Item(Int32 index) +2880797 System.Collections.Specialized.NameObjectCollectionBase.BaseGet(Int32 index) +10 System.Web.HttpFileCollection.Get(Int32 index) +5 System.Web.HttpFileCollection.get_Item(Int32 index) +4 ts_testb1.Page_Load(Object sender, EventArgs e) in E:\ASP\ts\testb1.aspx.vb:6 System.Web.UI.Control.OnLoad(EventArgs e) +99 System.Web.UI.Control.LoadRecursive() +47 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1436
全部回复
-
你好,
你这行代码什么意思,看不懂。
Code SnippetMy.Computer.Network.UploadFile("c:\abc.doc", "http://172.16.119.222/Default.aspx")
-
笨手 写: 在客户端执行 My.Computer.Network.UploadFile("c:\abc.doc", "http://172.16.119.222/Default.aspx"),无错信息,但在服务器端无接收文件,不知是否与服务器的安全设置有关,请高人指点. 原来你已经找到了 my.computer.xxxxxxx 快捷方法
这已经不是socket连接 而是 http multi post了
在服务端 可以用这种方式接收文件
Code Snippet -
-
您好(韦恩卑鄙) :
在前面的调试中,接收页用了fileupload控件 ,才产生了空内容的xxx.txt的文件,去掉fileupload控件后出现下面的错误;我认为是
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
My.Computer.Network.UploadFile("e:\xxx.txt", "http://172.16.119.222/asp/ts/testb1.aspx")End Sub
没有生效.敬请您给予分析,谢谢!
“/asp”应用程序中的服务器错误。
索引超出范围。必须为非负值并小于集合大小。
参数名: index说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.ArgumentOutOfRangeException: 索引超出范围。必须为非负值并小于集合大小。
参数名: index
源错误:
行 4: 行 5: Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 行 6: Me.Request.Files(0).SaveAs("e:\asp\xxx.txt") 行 7: End Sub 行 8: End Class
源文件: E:\ASP\ts\testb1.aspx.vb 行: 6
堆栈跟踪:
[ArgumentOutOfRangeException: 索引超出范围。必须为非负值并小于集合大小。 参数名: index] System.Collections.ArrayList.get_Item(Int32 index) +2880797 System.Collections.Specialized.NameObjectCollectionBase.BaseGet(Int32 index) +10 System.Web.HttpFileCollection.Get(Int32 index) +5 System.Web.HttpFileCollection.get_Item(Int32 index) +4 ts_testb1.Page_Load(Object sender, EventArgs e) in E:\ASP\ts\testb1.aspx.vb:6 System.Web.UI.Control.OnLoad(EventArgs e) +99 System.Web.UI.Control.LoadRecursive() +47 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1436