当前位置: 首页 > 知识库问答 >
问题:

假装上传没有多部分的二进制文件

傅啸
2023-03-14

我有问题与费恩客户端。我只需要发送一个文件,我不想使用多部分MIME类型(因为我认为一个文件没有必要)。我可以通过创建编码器到字节数组来做到这一点,但我想使用一些流。

我如何编写接受一些java流并将其发送而不将文件数据缓冲到内存的Feign编码器。使用Feign客户端是否可以进行这种二进制传输?

我看到一些使用多部分文件的示例,它使用了“多部分/表单数据”,但我不想使用多部分。

有可能写这样一个假编码器吗?

UPDATE是否有可能在不将数据缓冲到字节数组中的情况下通过FEgn发送二进制数据。根据这一点,它不是。

共有1个答案

宗政深
2023-03-14

这实际上是相当大的进步。只需使用byte[]作为参数。

public interface PostAPI {
    @RequestLine("POST /post")
    @Headers({
            "Content-Type: application/octet-stream",
            "Accept: text/plain"
    })
    String length(byte[] blob);
}

我选择String作为返回值,但您可以返回任何您喜欢的值。

 类似资料:
  • 下面是一个上传二进制文件的例子,WebService类的代码如下: package service; import java.io.InputStream; import java.io.OutputStream; import java.io.FileOutputStream; import javax.activation.DataHandler; public class 

  • 问题内容: 我正在使用Flash录制音频并将其上传到节点服务器。Flash客户端是jrecorder的变体。当用户完成录制后,将使用POST请求(而不是表单,因为Flash无法创建文件)来上传音频,并将音频ByteArray作为POST请求的数据(请参见此处的更多信息)。 我可以使用下面的代码在Node- land上正确接收文件,但是发出的音频被破坏了,您听不到任何声音。话虽如此,该文件的内容可以

  • 我正在Spring controller中努力实现多部分文件上传。我读过很多问题,谷歌,但似乎什么都不管用。 我明白了 我的BE控制器: FE,angularJS: HTML: 还有应用程序。属性包括: 更新: 当我按照@Byeon0gam的建议从我的控制器中删除@RequestParam时,我不再会遇到这个错误,但是我的文件在控制器中是空的。虽然在FE服务中,如我所见,它不是空的:

  • 我需要使用okhttp将捆绑在apk中的二进制文件上传到服务器。使用urlconnection,您可以简单地获得资产的inputstream,然后将其放入您的请求中。但是,okhttp只给你上传字节数组,字符串,或者文件的选项。由于您无法获得捆绑在apk中的资产的文件路径,唯一的选择是将文件复制到本地文件目录(我宁愿不这样做),然后将文件交给okhttp?难道没有办法直接使用assetinputs

  • 我试图创建一个页面,用户可以张贴图像及其细节。现在,当我测试来自postman的spring boot服务时,我能够成功地在服务中获取文件。当我试图从angular5中做同样的事情时,多部分文件在服务中没有被识别,并且总是得到空数组。 我的角服务代码如下 } 我已经尝试添加标头,如multipart/form-data,并将其设置为un定义。无论哪种方式,我都收到了错误。在发布到这里之前,我已经广

  • 我试图实现一个进度条来指示一个多部分文件上传的进度。 有人能举个例子说明我会怎么做吗?