[Zope] content type of file reverts from text/html to application/octet-stream

Dieter Maurer dieter at handshake.de
Sat Oct 13 12:55:55 EDT 2007


Justin Olmanson wrote at 2007-10-13 00:51 +0000:
>I have a story writing application. Users click a creat story button and it 
>creates a file like so...
>
>   the_folder.manage_addFile(the_id, file="<html></html>", title="", 
>precondition="", content_type="text/html")
>
>This works fine the file is created and is of the content type   text/html
>
>However when the user edits the story using epoz and saves it the file 
>content type changes to application/octet-stream      here is the update 
>script called from a dtml method called 'edit' with the url being 
>http://websiteaddress.com/storyid/edit
>
>def changeFileContent(ht):
>
>     ''' this function updates the object contents on which it is called '''
>
>     htPlus = "<html><head><title>" + title1 + "</title></head><body>" + ht 
>+ "</body></html>"
>
>     context.manage_upload(htPlus)

"manage_upload" tries to set the content type.

If it gets a "FileUpload" instance as argument, then
this instance contains (usually) the content type information
and "manage_upload" will use this. Otherwise, it tries to determine
the content type from its "__name__" (which means its id) or the
content and falls back to "application/octet-stream" if it fails.

As you can see, it fails in your case...


The code is in "OFS.Image.File._get_content_type".



-- 
Dieter


More information about the Zope mailing list