2017-03-09 9 views
0

PDF文書を次のように電子メールに添付しました。Swiftの電子メールにPDFを添付しましたが、PDFはデコードされていません

@IBAction func emailScript(_ sender: Any) { 

    print ("Now the value of pdfPath is \(SelectedPDF)") 
    let pdfURL = URL(string:SelectedPDF) 

    print ("The value of pdfURL is \(pdfURL)") 

    if MFMailComposeViewController.canSendMail() { 
     let mail = MFMailComposeViewController() 
     mail.setMessageBody("<p>You're so awesome!</p>", isHTML: true) 
     mail.setToRecipients(["Enter one or more emails here"]) 

     mail.mailComposeDelegate = self // Make sure to set this property to self, so that the controller can be dismissed! 

     //Set the subject 
     mail.setSubject("email with document pdf") 


      if let fileData = NSData(contentsOf: pdfURL!) { 
       print ("File data loaded.") 
       print (fileData) 
       mail.addAttachmentData(fileData as Data, mimeType: "application/pdf", fileName: "GST") 
      } 

      present(mail, animated: true, completion: nil) 

     } 

    else { 

     print ("Error") 
    } 

} 

func mailComposeController(_ controller: MFMailComposeViewController, didFinishWith result: MFMailComposeResult, error: Error?) { 
    controller.dismiss(animated: true) 
} 

私はfileDataがnilではないと確信しています。データストリームはコンソールに表示されます。添付ファイルはPDF形式で表示されます。しかし、私のアプリから電子メールを送信すると、PDFは読み込みできません。私のiPadでは、タイトルバーのグレーの画面が表示されます。 Macでは、PDFがデコードされなかったというエラーが表示されます。

PDFは私のDropboxのもので、そのURLはParseサーバーアプリケーションに由来しています。ブラウザで動作

PDFリンクは、https://www.dropbox.com/s/rt28egrkyc7uhc7/GSTPurim5777.pdf?dl=0

私が間違って何をやっているのですか?

はOK

イーライ

+0

メッセージにPDFファイルではなくデータファイルを添付しています。 –

+0

@ElTomatoこれはファイルを添付する唯一の方法です。ほとんどの場合、URLは実際にPDFファイルにはなりません。 – rmaddy

+0

これはPDFのURLです。これはブラウザで動作します。 https://www.dropbox.com/s/rt28egrkyc7uhc7/GSTPurim5777.pdf?dl=0 – user3140521

答えて

0

、ありがとう、私はそれを考え出しました。すべてのものではないにしても、少なくともPDFのDropbox URLには、ダウンロード許可を示すdl = 0タグが含まれています。アプリケーションを介してPDFを送信するには、dl = 0からdl = 1に変更する必要があります。そうすれば、すべてがうまくいく。

したがって、上記のコードに変更はありません。変更は私のファイルをリストする私のParseブラウザにあります。

Eli

関連する問題