【问题标题】:Filepicker.io ensure url select file is storedFilepicker.io 确保存储 url 选择文件
【发布时间】:2012-11-25 18:16:51
【问题描述】:

这是我的文件选择器的样子

filepicker.pick({
  mimetypes: ['image/*'],
  services: ['COMPUTER', 'URL'],
  maxSize: 5 * 1000 * 1024
}, function(FPFile) {
  // do stuff to file
});

问题是选择URL选择时,而不是将文件上载到文件选择器直接服务于URL。这使得存储不可靠,因为外部主机可以删除文件等。

有没有一种简单的方法可以确保在使用 URL 上传时直接托管文件?

【问题讨论】:

    标签: javascript filepicker.io


    【解决方案1】:

    有两种选择。

    首先是 Store API。当您收到 fpurl 时,调用store api,这会将文件直接保存到您的存储中。例如,如果人们可以随意选择文件,但您只想在他们选择保存某些内容时保留它们,这可能是最好的。例如上传新帖子时。如果他们最终不决定创建新帖子,为什么要保留项目? https://developers.filepicker.io/docs/web/#store

    第二个选项是将您的pick 调用替换为pickAndStore 调用,这样可以同时执行这两项操作,并且无需在pick 回调中执行store 命令。 https://developers.filepicker.io/docs/web/#pickAndStore

    虽然pickAndStore 可能觉得它节省了工作量,但如果您有可能在用户选择数据后实际上不需要持久化数据,那么我会使用您自己的自定义回调(这是您也可以在其中创建差异转换)。

    【讨论】:

    • 谢谢,好像文件选择器刚刚添加了这个,甚至可能是为了回答这个问题。
    【解决方案2】:

    最好的方法是使用 filepicker.store api - 请参阅 https://developers.filepicker.io/docs/web/#store 了解更多信息

    【讨论】:

    • 文件选择器不应该自动处理这个吗?在已经提出的请求之上提出另一个请求是没有意义的。另外,如果您已经使用直接上传选项,它不会存储两次。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多