ali-sdk / ali-oss

Aliyun OSS(Object Storage Service) JavaScript SDK for the Browser and Node.js
https://www.alibabacloud.com/help/doc-detail/52834.htm
MIT License
1.94k stars 578 forks source link

TypeError: global2.XMLHttpRequest is not a constructor #1181

Closed dongleivip closed 1 year ago

dongleivip commented 1 year ago

Taro mini app 项目在使用 oss-js-sdk 时遇到错误。

Context:

Taro 创建的空白项目

除了 Taro 初始化之外安装的 package:

npm install ali-oss --save
npm install buffer --save

其他信息请看demo

使用 STS 方式去的 Token, 在前端调用put()操作时报错

WAServiceMainContext.js?t=wechat&s=1671961212831&v=2.29.0:1 TypeError: global2.XMLHttpRequest is not a constructor
    at module3.exports.ClientRequest._onFinish (vendors-node_modules_taro_weapp_prebundle_ali-oss_js.js?t=wechat&s=1671961212831&v=d63aa3ee57cd17bdfb785eba0be9cc4b:28289)
    at module3.exports.<anonymous> (vendors-node_modules_taro_weapp_prebundle_ali-oss_js.js?t=wechat&s=1671961212831&v=d63aa3ee57cd17bdfb785eba0be9cc4b:28207)
    at module3.exports.EventEmitter.emit (vendors-node_modules_taro_weapp_prebundle_ali-oss_js.js?t=wechat&s=1671961212831&v=d63aa3ee57cd17bdfb785eba0be9cc4b:16440)
    at finishMaybe (vendors-node_modules_taro_weapp_prebundle_ali-oss_js.js?t=wechat&s=1671961212831&v=d63aa3ee57cd17bdfb785eba0be9cc4b:20408)
    at afterWrite (vendors-node_modules_taro_weapp_prebundle_ali-oss_js.js?t=wechat&s=1671961212831&v=d63aa3ee57cd17bdfb785eba0be9cc4b:20302)
    at afterTick (vendors-node_modules_taro_weapp_prebundle_ali-oss_js.js?t=wechat&s=1671961212831&v=d63aa3ee57cd17bdfb785eba0be9cc4b:18582)
    at Item.run (vendors-node_modules_taro_weapp_prebundle_ali-oss_js.js?t=wechat&s=1671961212831&v=d63aa3ee57cd17bdfb785eba0be9cc4b:16750)
    at Function.nextTick (vendors-node_modules_taro_weapp_prebundle_ali-oss_js.js?t=wechat&s=1671961212831&v=d63aa3ee57cd17bdfb785eba0be9cc4b:16722)
    at :48683/appservice/<setTimeout callback function>
    at WASubContext.js?t=wechat&s=1671961212831&v=2.29.0:1(env: macOS,mp,1.06.2212011; lib: 2.29.0)
dongleivip commented 1 year ago

应该是Taro的问题,放弃这种方式,还是用推荐的直传了。

dongleivip commented 1 year ago

有兴趣的参考这个吧 https://www.freesion.com/article/86921005562/