[Seaside] Is it possible to know uploaded file name ?
David Shaffer
cdshaffer at acm.org
Sun Mar 20 12:47:45 CET 2005
Dmitry Dorofeev wrote:
> Hi All,
>
> When i use file upload entry like this:
>
> html fileUploadWithCallback: [:f | ....]
>
> I get file content of the uploaded file (String) in the f.
> Is there a way to know original filename?
>
> Thanks.
> -Dmitry.
Hmm...when I use fileUploadWithCallback: I get an instance of WAFile in
the callback. I simply send it #fileName to get the name. You have to
make sure to:
html attributeAt: 'enctype' put: 'multipart/form-data'.
right before you send form:. Attached is a component that I use a lot.
David
-------------- next part --------------
'From Squeak3.7 of ''4 September 2004'' [latest update: #5989] on 20 March 2005 at 11:46:15 am'!
WAComponent subclass: #PageUploader
instanceVariableNames: 'lastFilename directory'
classVariableNames: ''
poolDictionaries: ''
category: 'SC-Components'!
!PageUploader methodsFor: 'accessing' stamp: 'cds 4/3/2004 23:57'!
directory
^directory! !
!PageUploader methodsFor: 'accessing' stamp: 'cds 4/3/2004 23:57'!
directory: anObject
directory := anObject! !
!PageUploader methodsFor: 'actions' stamp: 'cds 4/4/2004 00:02'!
fileSent: file
| f |
file isNil | file isString
ifTrue: [^ nil].
lastFilename _ file fileName.
f _ self directory
forceNewFileNamed: (self fixName: file fileName).
[f nextPutAll: file contents]
ensure: [f close]! !
!PageUploader methodsFor: 'actions' stamp: 'cds 4/8/2004 16:03'!
fixName: fileName
fileName ifNil: [^nil].
^ (fileName findTokens: '\/') last! !
!PageUploader methodsFor: 'actions' stamp: 'cds 4/2/2004 17:56'!
lastFilenameOrEmptyString
^lastFilename ifNil: ['']! !
!PageUploader methodsFor: 'rendering' stamp: 'cds 4/3/2004 23:52'!
renderContentOn: html
html attributeAt: 'enctype' put: 'multipart/form-data'.
html
form: [html
fileUploadWithValue: self lastFilenameOrEmptyString
callback: [:f | self fileSent: f].
html submitButtonWithText: 'Send file']! !
More information about the Seaside
mailing list