I find the answer, but not in javascript, in c# code.
Html input:
<p>Upload Files</p>
<div id="save-to-skydrive-dialog-content">
@using (Html.BeginForm("UploadFiles", "Auth", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
<input type="file" name="file" multiple />
<input type="submit" value="Upload File"/>
}
</div>
C# method:
[HttpPost]
public async Task<actionresult> UploadFiles()
{
var files = Request.Files;
if (Request.Files.Count > 0)
{
LiveLoginResult loginStatus = await authClient.InitializeWebSessionAsync(HttpContext);
if (loginStatus.Status == LiveConnectSessionStatus.Connected)
{
connectedClient = new LiveConnectClient(this.authClient.Session);
LiveOperationResult result = await connectedClient.GetAsync("me/skydrive");
string folderId = (string)result.Result["id"];
for (var i = 0; i < Request.Files.Count; i++)
{
var fileName = Request.Files[i].FileName;
var fileStream = Request.Files[i].InputStream;
LiveOperationResult uploadResult = await connectedClient.UploadAsync(folderId, fileName, fileStream, OverwriteOption.Overwrite);
}
}
}
return View("~/Views/Home/Index.cshtml");
}</actionresult>