Rolling back streams in storage providers, fixes #4860

This commit is contained in:
Lombiq
2015-04-15 20:45:11 +02:00
committed by Zoltán Lehóczky
parent 566d23ec55
commit f8e82be4b9
2 changed files with 8 additions and 0 deletions
@@ -43,6 +43,8 @@ namespace Orchard.Azure.Services.FileSystems.Media {
// Create the file. The CreateFile() method will map the still relative path.
var file = CreateFile(path);
inputStream.Position = 0; // We need to read from the beginning of the stream, even if it isn't at it's beginning.
using (var outputStream = file.OpenWrite()) {
var buffer = new byte[8192];
while (true) {
@@ -52,6 +54,8 @@ namespace Orchard.Azure.Services.FileSystems.Media {
outputStream.Write(buffer, 0, length);
}
}
inputStream.Position = 0; // Rolling back the stream so external readers will have it easier.
}
/// <summary>
@@ -336,6 +336,8 @@ namespace Orchard.FileSystems.Media {
// The CreateFile method will map the still relative path
var file = CreateFile(path);
inputStream.Position = 0; // We need to read from the beginning of the stream, even if it isn't at it's beginning.
var outputStream = file.OpenWrite();
var buffer = new byte[8192];
for (;;) {
@@ -346,6 +348,8 @@ namespace Orchard.FileSystems.Media {
outputStream.Write(buffer, 0, length);
}
outputStream.Dispose();
inputStream.Position = 0; // Rolling back the stream so external readers will have it easier.
}
/// <summary>