Webサーバーにプレゼンテーションをアップロードする機能を持つPowerPointアドインを開発しています。私は100MBの正確なサイズのプレゼンテーションを持っています。私は、OfficeドキュメントでGetFileAsyncを使用するためのガイドラインを使用しました。それは小さなプレゼンテーションファイルのために働いています。しかし、私は主にプレゼンテーションファイルを選択すると応答しないというアドインメッセージが表示されます。私はコードを壊してしまいました。大きな配列スライスのために応答しない原因がjsにあることがわかりました。大きなファイルのスライスを取得することに問題はありません。しかしスライス配列concatを1つの配列にするときの問題。大きなプレゼンテーションファイルのGetFileAsyncがメモリ不足のため
ここでは、問題が発生したOfficeドキュメントのコードがあります。
function onGotAllSlices(docdataSlices) {
var docdata = [];
for (var i = 0; i < docdataSlices.length; i++) {
docdata = docdata.concat(docdataSlices[i]);
}
var fileContent = new String();
for (var j = 0; j < docdata.length; j++) {
fileContent += String.fromCharCode(docdata[j]);
}
// Now all the file content is stored in 'fileContent' variable,
// you can do something with it, such as print, fax...
}
Officeアドインのバグか問題であるかどうかわかりません。誰かが私を助けてくれることを願っています
ありがとうございます。
UPDATES:
私はこのような特定の機能を簡素化:
function onGotAllSlices(docdataSlices) {
var fileContent = new String();
for(var i = 0; i < docdataSlices.length; i++) {
var docdata = docdataSlides[i];
for(var j = 0; j < docdata.length; j++) {
fileContent += String.fromCharCode(docdata[j]);
}
}
var base64String = window.btoa(fileContent);
}
これまでのところ、 'メモリのうち' 問題は全くありませんが。しかし、 '8007000e'というエラーメッセージの問題もあります。 "fileContentがbase64Stringで変換するとき、"この操作を完了するのに十分なストレージがありません "。
ありがとうございます。私はそれを試しても、まだメモリの問題があります。 jsやブラウザで使用されるメモリを設定または拡張することは可能ですか?ウィンドウズクライアントベースのMS OfficeホストIE(私はバージョンを知らない)。 – dhaz
私はそれが可能な仲間だとは思わない –