【问题标题】:Upload file to S3 using filepicker.io and replace whitespace使用 filepicker.io 将文件上传到 S3 并替换空格
【发布时间】:2013-05-02 15:39:01
【问题描述】:

我一直在使用 javascript 库 filepicker.io 将文件上传到 amazon s3,并且实现工作正常,我现在面临的问题是,当用户上传带有空格或花哨字符的文件时,这些文件无法访问通过http,我想知道是否有任何方法可以在上传前对文件应用某种重命名。

我正在使用 filepicker.io api 中的 pickAndStore 方法

filepicker.pickAndStore({
  mimetype: ['video/*'],
  services:['COMPUTER', 'DROPBOX', 'GOOGLE_DRIVE', 'BOX', 'URL', 'VIDEO', 'FTP'],
},{location: 's3'},function(fpfiles){
  fpfile = fpfiles[0];
  $('#temp_file_url').val('/' + fpfile.key);
});

谢谢。

【问题讨论】:

    标签: filepicker.io


    【解决方案1】:

    您可以在 filepicker.store() 调用和 filepicker.pickAndStore() 中指定“路径”参数,因此如果您想专门从文件名中去除空格但保持其余部分相同,则结构将是:

    filepicker.pick({...options...}, function(fpfile){
        var new_name = process(fpfile.filename);
        filepicker.store(new_name,
            {path: new_name, filename: new_name}, function(){});
    });
    

    【讨论】:

    • 谢谢兄弟,你真的帮了我这个忙
    • 这将在您的 S3 存储桶中两次上传文件,一次在挑选期间,一次在存储期间,存储上的回调被缓慢调用,因此如果您的用户在您的文件之间更改页面将只存在于文件选择器的记录,而不是您的数据库。你可以在pick之后调用它,但是你会指向错误的文件。
    • 我正在尝试使用这种技术,但 onSuccess 回调似乎返回了“temp.txt”的中间承诺值。如何保存文件而无需使用 filepicker.js 将文件名大幅更改为非人类可读的格式?
    【解决方案2】:

    您也可以在 pickAndStore 上使用路径,但您将无法预处理墨块。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-26
      • 2014-07-26
      • 2019-12-13
      • 2016-02-06
      • 2016-06-23
      • 2017-10-18
      相关资源
      最近更新 更多