Hi Massimo, I am using upload attachments. I have Create and Edit pages with number of fields. Upload is one of the fields. Now in create page, it was pretty straight forward using, Upload field in model.
Table name is service_attachments Field('attachment','upload',uploadfolder=os.path.join(request.folder, 'attachments')) (Model) if form.vars.attachment: form.vars.attachment_name = request.vars.attachment.filename > id = > thisdb.service_attachments.insert(**thisdb.service_attachments._filter_fields(form.vars)) > > .(Controller) And this works great.It inserts the record into the table and also saves the attachment into the folder as - service_attachments.attachment.b19d4ef38978e8e6.746d707437756c626f.jpg Now for edit functionality page, I want users to be able to add more images. Just calling the form.custom.widget.attachment again is not serving the purpose. So I tried doing, manual upload for this particular page. Eg, <input class="upload" id="service_attachments_attachment" name="attachment" type="file" /> (view) I recreated this HTML statement with taking reference of what the Create upload field creates in HTML.. In Controller, > if request.vars.attachment != '': > form.vars.attachment = request.vars.attachment.file > filename = request.vars.attachment.filename > form.vars.attachment_name = filename > id = > thisdb.service_attachments.insert(**thisdb.service_attachments._filter_fields(form.vars)) > Just Assigning this manual field to the already existing upload field. This saves the file, the same way as upload field does. It does save the file in the folder specified and also inserts the record in the service_attachments table.But, it saves the extension of that field as .txt, regardless of what the file type is. It saves the file as .txt in the folder and the db record. Let me now if this is giving you the clear picture. Arti On Thursday, December 20, 2012 7:10:47 AM UTC-8, Massimo Di Pierro wrote: > > Can you explain what you are trying to accomplish and what your models > are? I do not understand from the code. > > On Tuesday, 18 December 2012 13:51:12 UTC-6, ArNew wrote: >> >> Hi Everyone, >> >> I need help urgently. >> >> In my application, I am have included upload fields in Create and edit >> page. Through create page, it was very straight forward with: >> <td>{{=form.custom.widget.attachment}}</td> (View) >> Field('attachment','upload',uploadfolder=os.path.join(request.folder, >> 'attachments')) (DAL). >> if form.vars.attachment: >> form.vars.attachment_name = >> request.vars.attachment.filename >> id = >> thisdb.service_attachments.insert(**thisdb.service_attachments._filter_fields(form.vars)) >> >> .(Controller) And this works great. >> >> That with Edit page is not the same, as it is not about editing the >> current image, but uploading more attachments. So I tried doing something >> like this: >> >> <input class="upload" id="service_attachments_attachment" >> name="attachment" type="file" /> (view) >> if request.vars.attachment != '': >> form.vars.attachment = request.vars.attachment.file >> filename = request.vars.attachment.filename >> form.vars.attachment_name = filename >> id = >> thisdb.service_attachments.insert(**thisdb.service_attachments._filter_fields(form.vars)) >> This follows the very similar procedure of saving the encrypted version >> of attachment name in the attachment field, but it changes the extension to >> .txt for all the attachments. It saves the attachment as >> service_attachments.attachment.b19d4ef38978e8e6.746d707437756c626f.txt >> where as the orginal attachment is photo.JPG. So ideall it should save it >> as service_attachments.attachment.b19d4ef38978e8e6.746d707437756c626f.JPG. >> >> Can anyone please help me with this? >> >> >> >> >> >> --