我正在开发一个控制台应用程序,用以下代码片段从S3存储桶下载文件:
using (client = new AmazonS3Client(Amazon.RegionEndpoint.USEast1))
{
GetObjectRequest request = new GetObjectRequest
{
BucketName = bucketName,
Key = keyName
};
using (GetObjectResponse response = client.GetObject(request))
{
string dest = Path.Combine(workingDirectory, keyName);
if (!File.Exists(dest))
{
response.WriteResponseStreamToFile(dest);
System.Diagnostics.Debug.WriteLine(response.HttpStatusCode);
}
}
}
workingDirectory变量是:
string workingDirectory = Directory.GetCurrentDirectory() + "\\rawfiles";
我得到 访问路径被拒绝错误 这是以下堆栈跟踪
'System.IO .__ Error.WinIOError(Int32 errorCode,String maybeFullPath) at System.IO.FileStream.Init(String path,FileMode mode,FileAccess access,Int32 rights,Boolean useRights,FileShare share,Int32 bufferSize,FileOptions options,SECURITY_ATTRIBUTES secAttrs,String msgPath,Boolean bFromProxy,Boolean useLongPath,Boolean checkHost) 在System.IO.FileStream..ctor(字符串路径,FileMode模式,FileAccess访问,FileShare共享,Int32 bufferSize) 在Amazon.S3.Model.GetObjectResponse.WriteResponseStreamToFile(String filePath,Boolean append) 在Amazon.S3.Model.GetObjectResponse.WriteResponseStreamToFile(String filePath) 在AmazonObject.classes.DownloadS3Object_class.GetObject(String bucketName,String keyName,String workingDirectory)中的c:\ Users \ user1 \ Documents \ Visual Studio 2013 \ Projects \ Web Projects \ myr_cron \ myr_cron \ DownloadS3Object_class.cs:第45行
第45行是这样的:
response.WriteResponseStreamToFile(dest);
我该如何解决这个问题?