0
我試圖讓我的電腦將音樂文件發送到我的應用程序(Windows Phone 8)。我用的插座,以顯示我的計算機上的HTML文件,在那裏我可以選擇一個文件並上傳:在Windows Phone中從套接字輸入流讀取音頻文件
Upload music file:<br />
<input type="file" id="musicfile"/><br />
<input type="button" onclick="sendFile()" value="send"/>
<script type="text/javascript">
function sendFile() {
// get file
var fileInput = document.getElementById('musicfile');
var files = fileInput.files;
// make request
var xmlhttp = new XMLHttpRequest();
// response
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
alert("uploaded file");
}
}
// send data
xmlhttp.open("POST","upload",true);
xmlhttp.send(files[0]);
}
</script>
我讀像這樣的FILEDATA:
// handle request
private async void HandleRequest(StreamSocket socket)
{
//Initialize IO classes
DataReader reader = new DataReader(socket.InputStream);
reader.InputStreamOptions = InputStreamOptions.Partial;
// read request
var stringHeader = await reader.LoadAsync(4);
if (stringHeader == 0)
{
// disconnected
return;
}
// get length
int length = reader.ReadInt32();
// initiate data
byte[] data = new byte[length];
// load and read data
uint bytes = await reader.LoadAsync((uint)length);
reader.ReadBytes(data);
}
試圖當我得到一個OutOfMemoryException異常創建byte []數據。沒有驚人的長度= 1215263604.
我不知道它是如何可能是大,音樂文件是7.68MB。 請求的內容類型是「音頻/ mp3」。