首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有办法更改图像选择器的文件名吗?

有办法更改图像选择器的文件名吗?
EN

Stack Overflow用户
提问于 2021-04-01 01:22:54
回答 2查看 1.2K关注 0票数 0

我一直试图编辑图像选择器上传的名称,从"image_picker123145468“到我自己的结果,比如"image_for_idblabalbla”。

但到目前为止,我还没有找到任何与此相关的东西。希望这里的人知道,我永远在你的债下哈哈。谢谢!这是我在网上找到的密码。

代码语言:javascript
复制
chooseImage() {
    setState(() {
      // ignore: deprecated_member_use
      file = ImagePicker.pickImage(source: ImageSource.gallery);
    });
    setStatus('');
  }

  setStatus(String message) {
    setState(() {
      status = message;
    });
  }

  startUpload() {
    setStatus('Uploading Image...');
    if (null == tmpFile) {
      setStatus(errMessage);
      return;
    }
    String fileName = tmpFile.path.split('/').last;
    upload(fileName); //i think this should be the one that i need to edit but i dont know how.
  }

  upload(String fileName) {
    http.post(uploadEndPoint, body: {
      "image": base64Image,
      "name": fileName, //i tried manipulating this but no avail
    }).then((result) {
      setStatus(result.statusCode == 200 ? result.body : errMessage);
    }).catchError((error) {
      setStatus(error);
    });
  }
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-04-07 05:42:11

对代码做了一些修改,并设法更改了上传的名称。这是密码。

代码语言:javascript
复制
startUpload() {
    setStatus('Uploading Image...');
    if (null == tmpFile) {
      setStatus(errMessage);
      return;
    }
    String fileName = tmpFile.path.split("image_picker").last;
    String newFilename = fileName.replaceAll(fileName, 'changethistowhatever.jpg);
    upload(newFilename);
   
  }
  • "image_picker“在path.split中,这将导致默认名称image_picker1231.jpg减少到1231.jpg
  • 新文件名中的"changethistowhatever.jpg“用于将1231.jpg重命名为您的自定义名称。
票数 2
EN

Stack Overflow用户

发布于 2021-04-01 02:04:24

可以将renameSync与新路径一起使用。

代码语言:javascript
复制
import 'package:path/path.dart' as path;

代码语言:javascript
复制
file = ImagePicker.pickImage(source: ImageSource.gallery);    
String fileDir = path.dirname(file.path);
String newPath = path.join(fileDir, 'newFileName.FileFormat');
file .renameSync(newPath);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66897268

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档