Ios URLSession dataTask/uploadTask将大型上载拆分为多个请求

Ios URLSession dataTask/uploadTask将大型上载拆分为多个请求,ios,node.js,swift,upload,large-files,Ios,Node.js,Swift,Upload,Large Files,希望有人能对这种行为有所了解 大文件(比如50mb+)需要上传到服务器 上传被分成多个请求,而不是单个请求中的块(参见Charles图片) 使用其中任何一种都具有相同的行为 URLSession.shared.dataTask URLSession.shared.uploadTask URLSession.shared.uploadTask(带streamedRequest:) URLSession.shared.dataTaskPublisher 服务器是node/express,正在本地

希望有人能对这种行为有所了解

  • 大文件(比如50mb+)需要上传到服务器
  • 上传被分成多个请求,而不是单个请求中的块(参见Charles图片)
  • 使用其中任何一种都具有相同的行为
    • URLSession.shared.dataTask
    • URLSession.shared.uploadTask
    • URLSession.shared.uploadTask(带streamedRequest:)
    • URLSession.shared.dataTaskPublisher
  • 服务器是node/express,正在本地测试
  • 示例尝试
    这正常吗?我觉得这很奇怪,而且很难在最后把数据放在一起。 我已经设置了各种标题以查看我是否缺少这些,例如
    Content-Length
    ,尝试了多种编码(multipart/form,json)

    编辑: 刚刚发现
    Content Length
    是一个保留标题,无法手动设置。但是内容长度没有设置为httpBody的大小


    我想说,如果可能的话,您应该将其作为一个上传请求,并利用后台会话让操作系统为您处理上传


    这样你就不必担心某个部分无法上传,但其他部分却上传了,等等。这也简化了服务器的工作,它要么获取文件,要么不获取文件。

    我认为,如果可能,你应该将其作为一个上传请求,并利用后台会话让操作系统为你处理上传


    这样你就不必担心一个部分无法上传,但其他部分却上传了,等等。这也简化了服务器的工作,它要么获取文件,要么不获取文件。

    好吧,因为我怀疑这是一个适合脸掌的问题。url系统按预期工作,但我是通过

    PHImageManager.default().requestImage
    
    如果它返回的第一个块的
    PHImageResultIsDegradedKey
    设置为
    1
    ,则对于将来查看的任何人,可能会多次调用它的块

    这就是导致请求看起来像被拆分一样的原因,但实际上它提交了图像的缩略图,然后在加载后提交了完整大小


    鹅被抓住了,但那是一次愚蠢的追逐。希望这会对将来的人有所帮助。

    好吧,因为我怀疑这是一个适合于掌心的问题。url系统按预期工作,但我是通过

    PHImageManager.default().requestImage
    
    如果它返回的第一个块的
    PHImageResultIsDegradedKey
    设置为
    1
    ,则对于将来查看的任何人,可能会多次调用它的块

    这就是导致请求看起来像被拆分一样的原因,但实际上它提交了图像的缩略图,然后在加载后提交了完整大小


    鹅被抓住了,但那是一次愚蠢的追逐。希望这会对将来的人有所帮助。

    我只发送了一个,但urlsession系统似乎将其一分为二:/我只发送了一个,但urlsession系统似乎将其一分为二:/
    PHImageManager.default().requestImage