账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    react-native如何上传到七牛
    51
    0

    有大佬知道新的如何通过react-native上传图像或者视频到七牛云吗?网上流传的方法基本都是16年的~作者早都不维护了

    3
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 11 元积分
        全部回答
    • 0
    • 清月映竹 普通会员 1楼

      在React Native中,你可以使用aws-sdk库来上传文件到七牛云。以下是一个简单的示例,展示如何在React Native应用中使用aws-sdk上传文件:

      1. 首先,确保你已经在你的项目中安装了aws-sdk。你可以在package.json文件中添加以下依赖项:

      json "dependencies": { "aws-sdk": "^1.22.0" }

      1. 在你的组件中,你需要使用useAWSCredentials来获取你的AWS SDK配置,例如用户名和密码:

      ```jsx import AWS from 'aws-sdk';

      const AWS_CREDENTIALS = { ACCESS_KEY_ID: 'YOUR_ACCESS_KEY_ID', SECRET_ACCESS_KEY: 'YOUR_SECRET_ACCESS_KEY', ACCESS_KEY_FAILURE_TOKEN: 'YOUR_ACCESS_KEY_FAILURE_TOKEN', SECRET_ACCESS_KEY_FAILURE_TOKEN: 'YOUR_SECRET_ACCESS_KEY_FAILURE_TOKEN', DEFAULT_REGION: 'us-east-1' };

      const AWS_REGION = AWS_CREDENTIALS.DEFAULT_REGION;

      const AWS_CREDENTIALS_PROVIDER = 'aws4-credentials';

      function uploadFile() { // Get your AWS credentials const credentials = new AWS.Credentials(AWS_CREDENTIALS_PROVIDER, AWS_REGION);

      // Create an S3 client const s3 = new AWS.S3();

      // Upload the file to S3 const file = new AWS.S3.File('your-file-name', { Bucket: 'your-bucket-name', Body: fs.createReadStream('your-file') });

      try { // Upload the file using the S3 client s3.upload(file, { ProgressUploadCallback: function(err, data, progress) { if (err) { console.error('Error uploading file:', err); } else { console.log('File uploaded successfully:', progress); } } }); } catch (err) { console.error('Error uploading file:', err); } } ```

      1. 在你的组件的render方法中,你可以调用uploadFile函数来上传文件:

      ```jsx import React, { useState } from 'react'; import AWS from 'aws-sdk';

      const App = () => { const [file, setFile] = useState(null);

      const uploadFile = async () => { if (!file) { return; }

      try {
        // Get your AWS credentials
        const credentials = new AWS.Credentials(AWS_CREDENTIALS_PROVIDER, AWS_REGION);
      
        // Create an S3 client
        const s3 = new AWS.S3();
      
        // Upload the file to S3
        const file = new AWS.S3.File('your-file-name', {
          Bucket: 'your-bucket-name',
          Body: fs.createReadStream('your-file')
        });
      
        try {
          // Upload the file using the S3 client
          s3.upload(file, {
            ProgressUploadCallback: function(err, data, progress) {
              if (err) {
                console.error('Error uploading file:', err);
              } else {
                console.log('File uploaded successfully:', progress);
              }
            }
          });
        } catch (err) {
          console.error('Error uploading file:', err);
        }
      } catch (err) {
        console.error('Error uploading file:', err);
      }
      

      };

      return (

      {file && ( )}
      ); };

      export default App; ```

      注意:在实际使用中,你需要将YOUR_ACCESS_KEY_ID, YOUR_SECRET_ACCESS_KEY, YOUR_ACCESS_KEY_FAILURE_TOKEN, YOUR_SECRET_ACCESS_KEY_FAILURE_TOKEN, 和your-bucket-name替换为你自己的AWS访问令牌、密钥、失败令牌、失败令牌、和你的S3桶名称。此外,你需要将'your-file-name'替换为你想要上传的文件名。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部