Update of /var/cvs/speeltuin/mihxil/streams/src/org/mmbase/streams
In directory james.mmbase.org:/tmp/cvs-serv9184/src/org/mmbase/streams

Modified Files:
        BinaryFile.java 
Log Message:



See also: 
http://cvs.mmbase.org/viewcvs/speeltuin/mihxil/streams/src/org/mmbase/streams


Index: BinaryFile.java
===================================================================
RCS file: 
/var/cvs/speeltuin/mihxil/streams/src/org/mmbase/streams/BinaryFile.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- BinaryFile.java     16 Apr 2009 14:47:26 -0000      1.1
+++ BinaryFile.java     23 Apr 2009 10:10:43 -0000      1.2
@@ -13,7 +13,11 @@
 import org.mmbase.util.*;
 import org.mmbase.datatypes.processors.*;
 import java.util.*;
+import java.io.*;
 import org.mmbase.util.logging.*;
+import org.mmbase.servlet.FileServlet;
+
+import org.apache.commons.fileupload.FileItem;
 
 /**
  * This class constains Setter and Getter method for 'binary' file fields. In 
such field you can set
@@ -32,9 +36,23 @@
         private static final long serialVersionUID = 1L;
 
         public Object process(Node node, Field field, Object value) {
-
-            SerializableInputStream is = 
Casting.toSerializableInputStream(value);
-            return value;
+            ///SerializableInputStream is = 
Casting.toSerializableInputStream(value);
+            StringBuilder buf = new StringBuilder();
+            
org.mmbase.storage.implementation.database.DatabaseStorageManager.appendDirectory(buf,
 node.getNumber(), "/");
+            buf.append("/").append(node.getNumber()).append(".");
+            if (value instanceof FileItem) {
+                FileItem fi = (FileItem) value;
+                buf.append(fi.getName());
+                File f = new File(FileServlet.getDirectory(), 
buf.toString().replace("/", File.separator));
+                try {
+                    fi.write(f);
+                } catch (Exception e) {
+                    throw new RuntimeException(e);
+                }
+            } else {
+                buf.append(field.getName());
+            }
+            return buf.toString();
         }
     }
 
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs

Reply via email to