VB.net上载文件

VB.net上载文件,vb.net,upload,Vb.net,Upload,我正在尝试使用VB.net将文件发送到服务器。我发现很多例子都说这很简单,但我发现的所有例子都不管用 我正在尝试的当前代码如下所示: Dim WithEvents wc As New System.Net.WebClient() Private Sub oWord_DocumentBeforeClose(ByVal Doc As Microsoft.Office.Interop.Word.Document, ByRef Cancel As Boolean) Handles oWord.Docum

我正在尝试使用VB.net将文件发送到服务器。我发现很多例子都说这很简单,但我发现的所有例子都不管用

我正在尝试的当前代码如下所示:

Dim WithEvents wc As New System.Net.WebClient()
Private Sub oWord_DocumentBeforeClose(ByVal Doc As Microsoft.Office.Interop.Word.Document, ByRef Cancel As Boolean) Handles oWord.DocumentBeforeClose
    Try

        Using wc As New System.Net.WebClient()
            wc.Credentials = New NetworkCredential("ehavermale", "ernie1")
            wc.UploadFile("http://192.168.95.1:83/GraphTest.txt", "C:\Users\EHovermale\Desktop\GraphTest.txt")
        End Using
    Catch ex As Exception
        MsgBox("Error:" + ex.Message)
    End Try

    'System.IO.File.Delete("C:\Users\EHovermale\Desktop\GraphTest.txt")

    MsgBox("See Ya")
End Sub
当我运行这个程序时,我得到一个错误:WebClient请求期间发生异常

我有权将文件读/写到我试图访问的服务器

有没有其他上传文件的方法,或者我的代码有什么问题


谢谢大家!

由于没有HTTP服务来处理文件上载,因此可以使用VBA的Scripting.FileSystemObject直接保存文件。如果您可以从文档所在的任何位置访问网络共享,这将起作用。请记住,如果将文档移动到另一台计算机,则这可能不起作用

Public Sub MoveFile()

    Dim fso As Object
    Dim sourceFile As String
    Dim targetFile As String

    ' You must add reference to "Microsoft Scripting Runtime" to your document
    ' Tools > References... > scroll down the item.
    Set fso = CreateObject("Scripting.FileSystemObject")
    sourceFile = "C:\Users\davidr\Desktop\foo.txt"
    targetFile = "\\192.168.95.1:83\foo.txt"

    ' Test if destination file already exists
    If fso.FileExists(targetFile) Then
        MsgBox ("This file exists!")
        Exit Sub
    End If

    ' Move the file
    fso.CopyFile sourceFile, targetFile
    Set fso = Nothing

End Sub

在不知道此服务器上有什么的情况下,我所能看到的最有可能的情况是,您发布到了错误的“服务”。由于没有指定路径,您的文件将被传递到Web服务器的“默认索引”,可能是Default.aspx或Index.html。如果web服务器未配置为此地址接受文件发布,则不会发生任何事情。您是否需要指定一个类似的路径?wc.UploadFile(“,”C:\Users\davidr\Desktop\foo.txt“)您是否“控制”此服务器?(“”)而不仅仅是消息,整个异常情况如何?例如“ex.ToString()”(如果VB自动强制转换,则仅为“ex”),wc.UploadFile()使用HTTP POST将字节传输到服务器。web服务器上必须有一个服务器端组件(如*.PHP或*.ASPX)来接受传输的POSTDATA和“do”“有点不对劲。正在使用什么web服务器?另外,你能从处理程序中发布一些代码吗?我认为如果你在ASPX页面中这样做很简单。这里有一个控件,用于将文件上传并保存到服务器的代码非常容易实现。(我以前必须在经典ASP中这样做,这是一个PITA)因为你试图通过一个不同的机制来做,你必须重新发明轮子。您可以使用ASPX页面吗?(控件为FileUpload)