尝试在后端和前端上传到s3

问题描述 投票:0回答:1

我有一个小问题,我试图解决几个小时,但没有成功这样做。

我需要上传到s3(用户个人资料图片)。我成功地在后端这样做了。

然后我将url存储为数据库中的字符串(作为用户配置文件pic属性)

但是,这个问题来了。我在前端使用扑动,需要做以下事情。

向上传网址发出http请求,并且可以成功完成。但我不知道如何执行以下操作:

  • 允许用户从相机胶卷中选择照片以获取请求。在节点中,用户通过req.files.file选择一个文件,该文件被上传到s3。我如何将req.files.file(用户选择上传的文件)转换为用户从相机胶卷中选取的文件。这是我唯一的问题。

谢谢。

javascript node.js amazon-s3 mongoose flutter
1个回答
0
投票

使用图像选择器的依赖项:

import'package:image_picker / image_picker.dart';

我这样做的方法是将文件转换为base64然后转换为字节,然后在后端解码,然后从那里上传到s3。

uploadImage() async {
  var _image = await ImagePicker.pickImage(source: ImageSource.gallery);

  File croppedFile = await ImageCropper.cropImage(
    sourcePath: _image.path,
    ratioX: 1.0,
    ratioY: 1.0,
    maxWidth: 512,
    maxHeight: 512,
  );

  var _params = {
    "image_file": base64Encode(croppedFile.readAsBytesSync()),
  };

  return await restCall(POST, apiUrl.uploadImage, _params);
}
© www.soinside.com 2019 - 2024. All rights reserved.