繁体   English   中英

如何使用 flutter web 将图像直接上传到 s3 存储桶?

[英]How to upload image directly to s3 bucket using flutter web?

我一直在关注本教程https://docs.amplify.aws/lib/storage/getting-started/q/platform/flutter 我有一张使用按钮上传的图片。 如何使用 Flutter web 将图像直接上传到 s3 存储桶? 我遇到了多个堆栈溢出帖子,其中有答案,但我在任何文件中都找不到正确的答案。 我没有后台。 我只是想将图像从按钮上传到 s3 存储桶。 我只有以下文件。 我希望我能得到答案。 先感谢您。

import 'package:flutter/material.dart';
import 'package:flutter_web_image_picker/flutter_web_image_picker.dart';
void main() {
  runApp(App());
}

class App extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: ImagePickerPage(),
    );
  }
}

class ImagePickerPage extends StatefulWidget {
  @override
  _ImagePickerPageState createState() => _ImagePickerPageState();
}

class _ImagePickerPageState extends State<ImagePickerPage> {
  Image image;
  @override
  Widget build(BuildContext context) {
    return Column(
      children: <Widget>[
        ElevatedButton(
          child: Text("Select Image"),
          onPressed: () async {
            final _image = await FlutterWebImagePicker.getImage;
            setState(() {
              image = _image;
              print(image);
            });
          },
        ),
        CircleAvatar(
          radius: 50,
          backgroundColor: Colors.transparent,
          child: image != null
              ? image
              : Image.asset(
                  'dummy.png',
                  fit: BoxFit.cover,
                ),
        ),
        SizedBox(
          height: 50,
        ),
        ElevatedButton(
          child: Text("Upload to s3 bucket"),
          onPressed: () {
            print(image.semanticLabel);
          },
        ),
      ],
    );
  }
}

我发现使用 flutter web 将图像直接上传到 s3 存储桶有点困难。 但不是直接上传图像,我可以将图像制作为文件 object 然后传递到 AWS S3。 选择文件时,我可以验证它是否只拍摄图像。 这样,我已经成功地将图像上传到 s3 没有太多麻烦。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM