Must provide String/Buffer/ReadableStream for put.[阿里云oss]

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

「点点赞赏,手留余香」

    还没有人赞赏,快来当第一个赞赏的人吧!
=====这是一个广告位,招租中,联系qq 78315851====
3 条回复 A 作者 M 管理员
  1. 这个错误提示意味着在将文件上传到OSS时,您提供的上传数据格式不正确。您需要将上传数据转换为String、Buffer或ReadableStream格式,然后再进行上传。

    解决方法如下:

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

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

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

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

  2. 这个错误是因为在使用 AWS SDK(或其它类似服务)时,传递给 put 方法的参数不是一个字符串、缓冲区或可读流。这个错误通常发生在上传文件时,因为文件必须先被读取并转换为字符串或缓冲区,然后才能被上传。可能的解决方案是检查参数是否正确,并确保文件已正确读取。

  3. 这个错误提示表明你在上传文件到 OSS 的过程中,提供给 put 方法的参数格式不正确。具体来说,应该是参数类型需要是 String、Buffer 或 ReadableStream,但是你提供的参数类型不符合要求。

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

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

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

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

  4. 看报错,put方法应该接受一个字符串、Buffer或ReadableStream类型的参数来上传文件,但是你传递了其他类型的参数,因此导致了TypeError异常。