【问题标题】:VB.net RESTSharp AddFile using streamVB.net RESTSharp AddFile 使用流
【发布时间】:2020-11-27 00:13:38
【问题描述】:

我正在尝试在 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)

【问题讨论】:

  • 您可以简单地在那里传递一个字节数组以及文件名。所以,File.ReadAllBytes(filePath) 会做(也内联)。
  • 我没有实际文件,另一个功能之一是将 pdf 文件生成到流中,该功能不会将该流保存到文件中。所以我想使用该pdf流使用RESTSharp上传
  • 然后从 Stream 中读取所有字节。
  • 我试过了,但我在某处犯了错误。你能分享一下代码行吗?
  • 如果这实际上是一个通用流,试试这个:dim ms as new MemoryStream() fileStream.CopyTo(ms) 然后将数组传递给方法:request.AddFile("file", ms.ToArray(), filename) '[...] ms.Dispose()

标签: vb.net restsharp


【解决方案1】:

以下工作正常:

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

注释:ms 将由我的代码中的相应函数填充。就我而言,它将由 pdf 生成器函数编写。

【讨论】:

    猜你喜欢
    • 2015-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多