2014-04-28 59 views
0

我正在使用文件选取器来处理我的Web应用程序的文件。在我的前端应用程序中,我有文件句柄的URL(例如https://www.filepicker.io/api/file/H7KYuWy1S3e1qvG2M66i),但我没有完整的inkBlob。将需要的文件转换为包含mimetype的文件

该文件是一个图像,我想对这个文件做一个转换操作。看起来我需要在调用convert函数时包含mimetype。

从文件选取的API documentation on convert采取这样工作的:

var inkblob = { 
    url: 'https://www.filepicker.io/api/file/H7KYuWy1S3e1qvG2M66i', 
    filename: 'customers.jpg', mimetype: 'image/jpeg', 
    isWriteable: false, size: 629454 
}; 

var result = document.getElementById("convert-result"); 
filepicker.convert(inkblob, {width: 200, height: 200}, 
    function(new_InkBlob){ 
     console.log(new_InkBlob.url); 
     result.src = new_InkBlob.url; 
    } 
); 

相同的代码工作像这样的inkblob:

var inkblob = { 
    url: 'https://www.filepicker.io/api/file/H7KYuWy1S3e1qvG2M66i', 
    mimetype: 'image/jpeg', 
}; 

不过,转换不一样,如果排除MIME类型和工作只包含网址。

在我的情况下,它需要我首先对文件句柄进行统计调用,以从文件选取器的API中检索mimetype,然后在执行convert命令时将mimetype发回给filepicker。

是否有可能使mimetype被省略,并且File Picker在内部查找mime类型(如果它未包含在convert命令中)?

回答

0

对于其他人想回答这个问题,这里有一些我们传达有关邮件的详细信息:

他们在邮件答曰:

对于转换()方法,MIME类型只是一个安全检查,以确保您 传递图像。如果你传递'image/jpeg',即使它不是图像的正确的 mimetype,它应该工作得很好。所以每次都不需要统计 文件。

我的答案回:

大家好,感谢您的回答。

当我调用 convert()函数是多余的时候,听起来像包含mimetype。你告诉我,我应该能够 只是通过一个固定的mimetype,因此我不明白这是一个有用的 安全检查。如果你想确保在一个图像上执行转换命令 文件选取器已经知道一个文件有哪个mimetype,并且我认为在执行convert()命令 时不应该信任客户端对一个mimetype的声明文件。

我还没试过这个;但是如果我在文本文件中将 mimetype设置为'image/jpeg',那么会发生什么情况?我想它会失败 这是我认为这个mimetype要求 转换命令已过时的另一个原因。从filepicker

答:

这真是意外的传球文件 比图像转换通话对方只是最基本的保障。我知道这对你来说可能是多余的 ,但它适用于95%的案例,我们从来没有遇到过这个问题。

0

对于convert()方法,mimetype只是一个安全检查,以确保您传递图像。如果您传递'image/jpeg',即使它不是图像的正确mimetype,它也应该可以正常工作。所以每次都不需要统计文件。

相关问题