在內存中有字符串並希望使用BackgroundUploader
將其發送到Web服務的情況下,我想避免將其寫入磁盤(從而處理臨時文件清理)。WinJS:來自字符串的IInputStream
現在有createUploadFromStreamAsync
,但我不知道什麼是從字符串創建所需的IInputStream
最高性能的方式。
我想到的第一件事就是使用CryptographicBuffer::convertStringToBinary
將它轉換爲IBuffer
,將它寫入InMemoryRandomAccessStream
並從那裏獲取IInputStream。所以它是String - > IBuffer - > InMemoryRandomAccessStream - > IInputStream。相當麻煩...
第二種方法可以做的事情就是做new Blob(myString.split('')).msDetachStream().getInputStreamAt(0)
這當然不會使用很多原生電話並且具有相同的步數。即字符串 - >數組 - > Blob - > IInputStream。
您將如何處理此轉換?
此問題可能會給解決方案一些[lead](http://stackoverflow.com/questions/15862421/winjs-display-image-from-a-byte-array/15863667#15863667)。 – Sushil 2013-04-29 15:38:38
是的,這就是我在第一種方法中提出的建議 – 2013-04-29 16:24:05
第二種方法是否需要拆分呼叫?我閱讀[blob文檔](https://developer.mozilla.org/en-US/docs/Web/API/Blob?redirectlocale=en-US&redirectslug=DOM%2FBlob) - 這會不會好嗎? 'var blob = new Blob([myString])。msDetachStream()。getInputStreamAt(0);' – Sushil 2013-04-30 03:37:42