【问题标题】:Http 'multipart/form-data' vs raw binary 'image/jpeg' for image uploading?用于图像上传的 Http 'multipart/form-data' 与原始二进制 'image/jpeg'?
【发布时间】:2019-09-01 00:11:51
【问题描述】:

当我更频繁地寻找将图像上传到服务器的方法时,我会找到描述 Multipart 方法的教程。我很好奇为什么 multipart 比简单的原始二进制上传更好?

【问题讨论】:

    标签: image http multipart uploading


    【解决方案1】:

    一段时间后,我遇到了与将数据作为标头发送数据相关的重大问题,但参数除外。默认情况下,OkHttp 不允许在标头中使用非 ASCII 字符。它会导致崩溃,可以通过以不安全的方式添加标题来修复:

    private fun createHeaders(dataHeader: FileUploadDataHeader): Headers =
        Headers.Builder()
                .add(UPLOAD_HEADER_COMMAND, UPLOAD_HEADER_COMMAND_VALUE)
                .add(HEADER_TOKEN_NAME, userSettings.sessionUser.uuid)
                .addUnsafeNonAscii(UPLOAD_HEADER_DATA, dataHeader.toString())
                .build()
    

    最好使用Multipart请求,或者至少编码非ASCII值,然后在服务器上对其进行解码。但这需要与服务器端开发人员合作,而这并不总是可行的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-07-11
      • 1970-01-01
      • 1970-01-01
      • 2018-08-03
      • 1970-01-01
      • 2015-10-11
      • 2019-03-11
      • 2011-03-22
      相关资源
      最近更新 更多