C# System.Net.ProtocolViolationException:要写入流的字节超过指定的内容长度字节大小
使用AWSSDK.dll,我尝试在zip文件中循环浏览图像,并使用下面的代码将它们发送到AmazonS3。问题是我一直在犯错误C# System.Net.ProtocolViolationException:要写入流的字节超过指定的内容长度字节大小,c#,amazon-s3,aws-sdk,C#,Amazon S3,Aws Sdk,使用AWSSDK.dll,我尝试在zip文件中循环浏览图像,并使用下面的代码将它们发送到AmazonS3。问题是我一直在犯错误 System.Net.ProtocolViolationException 当我调用fileTransferUtility.Upload()方法时。zip作为HttpPostedFile发布到用于创建zip文件的方法,然后循环遍历每个条目并上传 ZipFile zipFile = new ZipFile(postedFile.InputStream); forea
System.Net.ProtocolViolationException
当我调用fileTransferUtility.Upload()方法时。zip作为HttpPostedFile
发布到用于创建zip文件的方法,然后循环遍历每个条目并上传
ZipFile zipFile = new ZipFile(postedFile.InputStream);
foreach (ZipEntry zipEntry in zipFile)
{
if (zipEntry.Name != String.Empty)
{
string saveLocation = unzipBaseDir + "/" + zipEntry.Name;
string dbLocation = "./" + Path.Combine(unzipBaseDir, zipEntry.Name).Replace(@"\", "/");
// save the file
TransferUtilityConfig config = new TransferUtilityConfig();
config.MinSizeBeforePartUpload = 80740;
TransferUtility fileTransferUtility = new TransferUtility(new AmazonS3Client(accessKeyID, secretAccessKeyID, RegionEndpoint.EUWest1), config);
using (Stream fileToUpload = zipFile.GetInputStream(zipEntry))
{
TransferUtilityUploadRequest fileTransferUtilityRequest = new TransferUtilityUploadRequest
{
BucketName = existingBucketName,
InputStream = fileToUpload,
StorageClass = S3StorageClass.Standard,
PartSize = fileToUpload.Length,
Key = saveLocation,
CannedACL = S3CannedACL.PublicRead
};
fileTransferUtility.Upload(fileTransferUtilityRequest);
}
}
}
对于AmazonS3Client
不太确定,但假设它只是另一个HttpWebRequest
类型,您可能需要将fileTransferUtility.ContentLength
设置为不超过zip文件大小的值对于AmazonS3Client
不太确定,但假设它只是另一个HttpWebRequest
类型,您可能需要将fileTransferUtility.ContentLength
设置为不超过zip文件大小的值