2014-04-28 84 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,它也應該可以正常工作。所以每次都不需要統計文件。

相關問題