This file explain a little how to use Attachment Field.

In an archetype content type, you can add an attachment field like any other fields.
Just write a schema like this:

MySchema = BaseSchema.copy() + Schema((

    ImageField(
        'logo',
        widget = ImageWidget(
            label = "Logo",
        ),
    ),

    StringField(
        'name',
        widget = StringWidget(
            label = "Name",
        ),
    ),

    AttachmentField(
        'myFile',
        widget = AttachmentWidget(
            label = "My File",
        ),
    ),
))

You will have a content type with three files (an image, a name and an attachment
field).

You can customize the way files are displayed, field by field, with a special
attribute of the AttachmentWidget :

    AttachmentField(
        'myFile',
        widget = AttachmentWidget(
            label = "My File",
->          contentDisposition = "attachment"        <-
        ),
    ),

Possible values :
- attachment when you want the browser asks the user for a place to save the file
- inline when you want the browser displays the content inside its window (if possible)

