Sample code for 30+ languages & platforms
Go

Check if a MIME Part is Application Data

See more MIME Examples

Demonstrates the Chilkat Mime.IsApplicationData method, which returns whether the Content-Type begins with application/. It takes no arguments and applies to the current part.

Note: The file path is relative to the application's current working directory. Absolute paths may also be used. Supply the path to your own file.

Background: The application/ family covers everything that is not plain media or text — PDFs, Office documents, ZIP archives, JSON, and the S/MIME application/pkcs7-* types. This broad check is a quick way to flag "binary document" parts, though you will usually look at the specific subtype to decide how to handle each.

Chilkat Go Downloads

Go
    success := false

    //  Demonstrates the Mime.IsApplicationData method, which returns whether the Content-Type begins with application/.  It takes no arguments and applies to the current
    //  part.  This example iterates the parts of a multipart message and reports which ones match.

    mime := chilkat.NewMime()
    success = mime.LoadMimeFile("qa_data/multipart_message.eml")
    if success == false {
        fmt.Println(mime.LastErrorText())
        mime.DisposeMime()
        return
    }

    n := mime.NumParts()
    part := chilkat.NewMime()
    var i int
    for i = 0; i <= n - 1; i++ {
        success = mime.PartAt(i,part)
        if success == false {
            fmt.Println(mime.LastErrorText())
            mime.DisposeMime()
            part.DisposeMime()
            return
        }

        if part.IsApplicationData() {
            fmt.Println("Part ", i, " (", part.ContentType(), ") is application data.")
        }

    }


    mime.DisposeMime()
    part.DisposeMime()