diff --git a/extra/webapps/imagebin/imagebin.factor b/extra/webapps/imagebin/imagebin.factor index f347377d95..7c63c51eee 100755 --- a/extra/webapps/imagebin/imagebin.factor +++ b/extra/webapps/imagebin/imagebin.factor @@ -1,10 +1,15 @@ ! Copyright (C) 2008 Doug Coleman. ! See http://factorcode.org/license.txt for BSD license. -USING: accessors kernel furnace.actions html.forms -http.server.dispatchers db db.tuples db.types urls -furnace.redirection multiline http namespaces ; +USING: accessors db db.tuples db.types furnace.actions +furnace.redirection html.forms http http.server +http.server.dispatchers io.directories io.pathnames kernel +multiline namespaces urls ; IN: webapps.imagebin +SYMBOL: image-directory + +image-directory [ "resource:images" ] initialize + TUPLE: imagebin < dispatcher ; TUPLE: image id path ; @@ -16,24 +21,32 @@ image "IMAGE" { : ( -- action ) + image-directory get >>temporary-directory { imagebin "uploaded-image" } >>template ; SYMBOL: my-post-data : ( -- action ) { imagebin "upload-image" } >>template + image-directory get >>temporary-directory [ - - ! request get post-data>> my-post-data set-global + "file1" param [ + temporary-path>> image-directory get move-file + ] when* ! image new ! "file" value ! insert-tuple "uploaded-image" ] >>submit ; +: initialize-image-directory ( -- ) + image-directory get make-directories ; + : ( -- responder ) imagebin new-dispatcher "" add-responder "upload-image" add-responder "uploaded-image" add-responder ; +initialize-image-directory + main-responder set-global