簡體   English   中英

Phonegap-動態郵件附件

[英]Phonegap - Dynamic mail attachment

我正在創建一個phonegap應用程序,用戶將在其中捕獲一些圖片並將其附加到預定義的郵件ID。 我能夠捕獲圖像,但無法在應用程序文件夾中附加所有圖片,即“ / mnt / sdcard / Android / data / pacakgename / cache /”。

我試圖實現這種動態附件。

我的代碼如下:

<html>
<head>
    <script type="text/javascript" charset="utf-8" src="cordova.js"></script>
    <script type="text/javascript" charset="utf-8" src="emailcomposer.js"></script>

    <script type="text/javascript">
    document.addEventListener("deviceready", deviceready, true);
    function deviceready() {
        console.log("Device ready");    
    window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFS, onFail);
    }

function gotFS(fileSystem) {
var reader = fileSystem.root.createReader();
reader.readEntries(gotList, onFail);
}

function gotList(entries) {
var i;
var fullPath = "/mnt/sdcard/Android/data/packagename/cache/";
for (i=0; i<entries.length; i++) {
    if (entries[i].name.indexOf(".jpg") != -1) {
        console(entries[i].fullPath);
    }
}
}

    function composeText(){
    var message1 = document.getElementById('message_body').value;
    console.log(message1);
    window.plugins.emailComposer.showEmailComposer(
            "Get an Estimate",
            message1,
            ["sth@mail.com"],
            [],
            [],
            true,
            [attachment link]
        );
    //exit the app after clicking this button
    navigator.app.exitApp();
    // navigator.camera.cleanup(onSuccess,fail);
    // function onSuccess(){

    // }

    // function fail(){

    // }

    }

    function onFail(message) {
  alert('Failed because: ' + message);
}

    </script>
    <style type="text/css">
li{
list-style: none;
float:left;
padding: 0 5 5 0 ;
}
    </style>
</head>
<body>
    <h1>Get a Repair Estimate</h1>

<div style="clear:both;"></div>
Provide any details you want us to know(Optional):
<ul>
    <li>
<textarea style="width:250px;height:250px;" name="message_body" id = 'message_body'  placeholder="Add Notes here(if any)"></textarea>
</li>
<div style="clear:both;"></div>
<li>

      <button onclick="composeText();">Get Your Estimate</button>
    </li>
</body>
</html>

任何幫助。

我得到了解決方案。 我無法理解造成問題的phonegap的fileDirectory API。 我用以下代碼解決了我的問題:

window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function(fileSystem) {
                    fileSystem.root.getDirectory("MyAppFolder", {
                        create: true
                    }, 
        function(directory) {
            console.log("Final 63" + directory.fullPath);
            attachPaths = directory.fullPath;
            var attachPath=attachPaths.slice(7,attachPaths.length);
            var directoryReader = directory.createReader();
            directoryReader.readEntries(function(entries) {
                var i;
                for (i=0; i<entries.length; i++) {
                    console.log(entries[i].name);
attachFile[i] =attachPath + "/" + entries[i].name;
                            }
                            console.log(attachFile);
                        }, 
                        function (error) {
                            alert(error.code);
                        });

                    });
                }, function(error) {
                    alert("can't even get the file system: " + error.code);
                });

現在,我們可以將attachFile傳遞給emailcomposer插件:

window.plugins.emailComposer.showEmailComposerWithCallback(null,
                    "Get an Estimate",
                     "Here is the mail body"
                    ["to"],
                    [cc],
                    [bcc],
                    true,
                    attachFile
                    );

我已經解決了。關於我的完整答案,請通過此鏈接 我發布了答案,因為我不希望它成為未解決的問題。 我使用了這個emailcomposer插件 Hope,它可能會對某人有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM