VB.net 使用流的 RESTSharp AddFile

VB.net RESTSharp AddFile using stream

我正在尝试在 vb.net 中使用 RESTSharp 上传文件。

我无法完成这个。

以下是我正在尝试的代码。

Public Function CreateUploadFileRequest(ByVal path As String, ByVal filename As String, ByVal fileStream As Stream) As RestRequest
            Dim request = New RestRequest(Method.POST)
            request.Timeout = Integer.MaxValue
            request.Resource = "{version}/files/dropbox{path}"
            request.AddParameter("version", _version, ParameterType.UrlSegment)
            request.AddParameter("path", path, ParameterType.UrlSegment)
            request.AddParameter("file", filename)
            request.AddFile("file", fileStream, filename) '---I am wrong at this line
            Return request
        End Function

我找到了 C# 代码,但无法转换 vb.net

中的特定行
request.AddFile(FieldName, (s) =>
    {
        fileStream.CopyTo(s);
        fileStream.Flush();
    }, FileName, ContentType);

如果我把上面的转换成vb.net,那么它就不起作用。下面是转换后的代码。

request.AddFile("file", Function(s)
fileStream.CopyTo(s)
fileStream.Flush()
End Function, FileName, ContentType)

我还在 c# 中找到了另外一行代码,但在代码转换后,同样的代码在 vb.net 中不起作用。

[in C#] request.AddFile ("file", s => StreamUtils.CopyStream (fileStream, s), filename);

转换为 vb.net,[不工作]

[in vb.net] request.AddFile("file", Function(s) StreamUtils.CopyStream(fileStream, s), filename)

以下有效:

dim ms as new MemoryStream()
request.AddFile("file", ms.ToArray(), "123.pdf_or_whateverfilename")
ms.Dispose()

评论:ms将由我代码中的相应函数填充。在我的例子中,它将由 pdf 生成器函数编写。