summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--fs/base.py8
1 files changed, 7 insertions, 1 deletions
diff --git a/fs/base.py b/fs/base.py
index 4d83bef..f98a242 100644
--- a/fs/base.py
+++ b/fs/base.py
@@ -375,7 +375,13 @@ class FS(object):
f = None
try:
f = self.open(path, 'wb')
- f.write(data)
+ if hasattr(data,"read"):
+ chunk = data.read(1024*512)
+ while chunk:
+ f.write(chunk)
+ chunk = data.read(1024*512)
+ else:
+ f.write(data)
finally:
if f is not None:
f.close()