]> gitweb @ CieloNegro.org - Lucu.git/blobdiff - examples/Multipart.hs
Fix for insane memory usage
[Lucu.git] / examples / Multipart.hs
index 6c15cd3a8a4ab1130737c1c770983892edb2d596..f8c1c7bc218d76a1f8322fb3475f87d67296ef04 100644 (file)
@@ -1,3 +1,4 @@
+import qualified Data.ByteString.Lazy.Char8 as L8
 import Data.List
 import Data.Maybe
 import Network
@@ -28,11 +29,13 @@ resMain
       , resHead   = Nothing
       , resPost
           = Just $ do form <- inputForm defaultLimit
-                      let text = fromMaybe "" $ fmap snd $ find ((== "text") . fst) form
-                          file = fromMaybe "" $ fmap snd $ find ((== "file") . fst) form
+                      let text     = fromMaybe L8.empty $ fmap fdContent $ find ((== "text") . fdName) form
+                          file     = fromMaybe L8.empty $ fmap fdContent $ find ((== "file") . fdName) form
+                          fileName = fdFileName =<< find ((== "file") . fdName) form
                       setContentType $ read "text/plain"
-                      outputChunk ("You entered \"" ++ text ++ "\".\n")
-                      output ("You uploaded a " ++ show (length file) ++ " bytes long file.\n")
+                      outputChunk ("You entered \"" ++ L8.unpack text ++ "\".\n")
+                      outputChunk ("You uploaded a " ++ show (L8.length file) ++ " bytes long file.\n")
+                      output ("The file name is " ++ show fileName ++ ".\n")
       , resPut    = Nothing
       , resDelete = Nothing
       }
\ No newline at end of file