【问题标题】:How to upload file to restful api kotlin如何将文件上传到restful api kotlin
【发布时间】:2019-08-01 02:51:51
【问题描述】:

您好,我只是想知道在尝试通过 kotlin 上传此 zip 文件时是否做错了什么。我的 rest API 已经可以上传一个 zip 文件(我用 curl 检查过)。但是,我无法让 kotlin 上传文件。似乎将 .zip 文件重命名为“文件”,然后文件丢失了其内容。

fun uploadFile(extension: String, f: File){
    print(f.path)
    val response = khttp.post(url = this.url + extension,
           files = listOf(FileLike("file", File(f.path)))
    )
    print(response.text)
}

我也尝试过传入 File(f.path) 所在的文件对象本身。 我似乎没有做任何事情。我正在运行 kotlin,并且服务器在 ubuntu 上运行。我不知道这是否会导致目录出现问题。

任何帮助表示赞赏!谢谢!

【问题讨论】:

  • 您遇到了哪个错误?
  • 没有收到错误,它只是损坏了文件。后来我改变了我在 REST api 端与文件交互的方式以更好地适应 kotlin,很奇怪它似乎不遵循典型的 http 请求布局。
  • 您是否尝试为内容类型设置标题?在本例中:application/zip、application/octet-stream

标签: file http kotlin okhttp


【解决方案1】:

您可以使用简单的kohttp 文件上传 DSL(从 0.8.0 版本开始)

val response = upload {
    url( your destination url )
    file( file or file uri )
}

或扩展功能

val response = file.upload( destination string or url )

【讨论】:

    猜你喜欢
    • 2013-09-14
    • 1970-01-01
    • 2011-10-18
    • 1970-01-01
    • 2012-02-05
    • 1970-01-01
    • 2017-10-20
    • 1970-01-01
    • 2011-06-30
    相关资源
    最近更新 更多