サンプルC#コードのJavaでファイルをアップロードする方法:私は、ファイルをアップロードするためにきた時点で立ち往生しています与えられたSAS URI
static void UploadFile(string sasUrl, string filepath)
{
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Add("x-ms-version", Version);
client.DefaultRequestHeaders.Add("x-ms-client-request-id", SessionGuid);
StringBuilder sb = new StringBuilder("<?xml version=\"1.0\" encoding=\"utf-8\"?><BlockList>");
foreach (byte[] chunk in GetFileChunks(filepath))
{
var blockid = GetHash(chunk);
HttpRequestMessage chunkMessage = new HttpRequestMessage()
{
Method = HttpMethod.Put,
RequestUri = new Uri(sasUrl + "&timeout=90&comp=block&blockid=" + WebUtility.UrlEncode(blockid)),
Content = new ByteArrayContent(chunk)
};
chunkMessage.Headers.Add("x-ms-blob-type", "BlockBlob");
chunkMessage.Content.Headers.Add("MD5-Content", blockid);
TimeAction("Uploading chunk " + blockid + " took {0} ms",() =>
{
var response = client.SendAsync(chunkMessage).Result;
});
sb.Append("<Latest>");
sb.Append(blockid);
sb.Append("</Latest>");
}
sb.Append("</BlockList>");
Trace.WriteLine(sb.ToString());
HttpRequestMessage commitMessage = new HttpRequestMessage()
{
Method = HttpMethod.Put,
RequestUri = new Uri(sasUrl + "&timeout=90&comp=blocklist"),
Content = new StringContent(sb.ToString())
};
TimeAction("Commiting the blocks took {0} ms",() =>
{
var commit = client.SendAsync(commitMessage).Result;
});
}
}
。また、与えられたコードでコミットする理由を知りたいですか?これまで
私の進歩である:
public static void uploadFile(String sasUrl , String filepath , String sessionGuid)
{
File file = new File(filepath);
FileInputStream fileInputStream=null;
Response reply = new Response();
HttpClient client = HttpClientBuilder.create().build();
HttpPost request = new HttpPost(sasUrl);
request.setHeader("x-ms-version", "2013-08-15");
request.setHeader("x-ms-client-request-id", sessionGuid);
StringBuilder sb = new StringBuilder("<?xml version=\"1.0\" encoding=\"utf-8\"?><BlockList>");
}
}
注:私は、サーバーをスパムすることができないように私は、コードを複数回実行することはできません。任意の提案は を参照すると理解される:C#で参照コードによればhttps://msdn.microsoft.com/en-us/library/windows/hardware/dn800660(v=vs.85).aspx
C#サンプルをJavaコードに変換しようとしていますか? – stuartd
はい、ファイルをアップロードしようとしていますが、C#コードはマイクロソフトの(残りのAPI)サンプルコード –
投稿したリンクのように、ハードウェア証明書キット(HCK)パッケージをアップロードするためにアップロードしようとしていますか? – stuartd