开发者社区 > 云存储 > 对象存储OSS > 正文

Must provide String/Buffer/ReadableStream for put.

RAM 和 OSS对接后 上传文件时提示TypeError: Must provide String/Buffer/ReadableStream for put. 是什么情况?怎么处理呢希望大神帮忙看看! 微信截图_20230505184009.png

展开
收起
游客bif7v6fxl5ej6 2023-05-05 18:41:47 348 0
4 条回答
写回答
取消 提交回答
  • 值得去的地方都没有捷径

    这个错误提示意味着在将文件上传到OSS时,您提供的上传数据格式不正确。您需要将上传数据转换为String、Buffer或ReadableStream格式,然后再进行上传。

    解决方法如下:

    确保您的上传数据是正确的格式。如果您使用的是文件路径,请确保路径正确,并且文件存在。如果您使用的是Buffer或ReadableStream,请确保数据格式正确。

    如果您使用的是RAM,可以尝试使用OSS SDK提供的putStream方法将数据上传到OSS。putStream方法接受一个ReadableStream作为参数,可以直接将RAM中的数据流上传到OSS。

    如果您使用的是其他方式将数据存储在RAM中,请确保将其转换为正确的格式,例如String或Buffer。然后,您可以使用OSS SDK提供的put方法将数据上传到OSS。

    如果以上方法无法解决问题,请考虑联系OSS技术支持人员以获取进一步的帮助。

    2023-05-06 17:00:52
    赞同 1 展开评论 打赏
  • 这个错误是因为在使用 AWS SDK(或其它类似服务)时,传递给 put 方法的参数不是一个字符串、缓冲区或可读流。这个错误通常发生在上传文件时,因为文件必须先被读取并转换为字符串或缓冲区,然后才能被上传。可能的解决方案是检查参数是否正确,并确保文件已正确读取。

    2023-05-06 15:15:45
    赞同 展开评论 打赏
  • 这个错误提示表明你在上传文件到 OSS 的过程中,提供给 put 方法的参数格式不正确。具体来说,应该是参数类型需要是 String、Buffer 或 ReadableStream,但是你提供的参数类型不符合要求。

    可能的原因是,上传文件的参数类型不正确,或者没有对文件进行正确的格式处理。你需要检查你的程序,确保上传文件的参数格式正确,如果有必要,可以对参数进行进一步的处理和转换。

    例如,你可以将上传文件的参数使用 Buffer.from() 方法进行转换,或者将其转换为可读流(ReadableStream)的形式。同时,你也需要确保上传的文件大小不超过 OSS 的限制,否则也会导致出现这种错误。

    另外,如果你使用的是 Node.js SDK 进行 OSS 的操作,还需要确保 SDK 的版本正确。如果 SDK 版本过旧,可能会导致不兼容的问题。建议使用最新版本的 SDK 进行 OSS 的操作。

    希望这些提示能帮助解决你的问题。如果还有其他问题,请随时提出。

    2023-05-06 08:21:04
    赞同 展开评论 打赏
  • 看报错,put方法应该接受一个字符串、Buffer或ReadableStream类型的参数来上传文件,但是你传递了其他类型的参数,因此导致了TypeError异常。

    2023-05-05 21:50:49
    赞同 展开评论 打赏

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载

相关实验场景

更多