【发布时间】:2012-04-30 09:19:59
【问题描述】:
我正在尝试从基于 SharpGs 客户端库的 C# 控制台应用程序实现可恢复上传。 到目前为止,我可以将数据从我的控制台应用程序放到文件大小 > 2 GB 的 Google 云存储中。
在发起 POST 请求时,为了实现可恢复的上传,服务器会对此做出响应。
“远程服务器返回错误:(403) Forbidden.”} System.Net.WebException .
我发送的 Uri 是带有 POST 请求的“https://mybucket_name.commondatastorage.googleapis.com/Test1Gb.rar”。
“Test1Gb.rar”----是文件名。
正如谷歌云开发者指南中提到的,我发送 POST 请求如下。
private HttpWebRequest PostCreateRequest(string authValue, DateTime date, string contentType,int contentLength)
{
var request = (HttpWebRequest)WebRequest.Create(_uri);
request.Method = PureRequestMethod(_method).ToString();
request.Headers.Add(@"Authorization", authValue);
request.Headers.Add(@"x-goog-resumable", "start");
request.Date = date;
request.ContentLength = 0;
request.ContentType = contentType;
return request;
}
public string PostRequest(string authValue, DateTime date, string contentType,int contentLength, Bucket.ObjectHead objectHead)
{
try
{
var request = PostCreateRequest(authValue, date, contentType,contentLength);
using (var response = (HttpWebResponse)request.GetResponse())
{
if (response.StatusCode == HttpStatusCode.Created)
{
return String.Empty;
}
else
return StreamToString(response.GetResponseStream());
}
}
catch (WebException exception)
{
return StreamToString(exception.Response.GetResponseStream());
}
}
我已经尝试了 1 周。我不知道这有什么问题。
我可以从任何人那里得到任何帮助吗?
谢谢。
【问题讨论】:
标签: c# post google-cloud-storage