how to get the full path of sdcard directory in android phonegap with javascript?

后端 未结 3 780
庸人自扰
庸人自扰 2021-01-19 17:26

I am using PhoneGap 2.8.0 for android app.

Need to get the full path of sdcard using javascript in phonegap, because in my mobile it shows the location as file

相关标签:
3条回答
  • 2021-01-19 17:47

    Finally i found we can't get the external SD Card Path,

    Environment.getExternalStorageState();
    

    Its returns only Internal SD Card path

    Reference: http://developer.android.com/reference/android/os/Environment.html#getExternalStorageDirectory()

    0 讨论(0)
  • 2021-01-19 17:57

    Please try this code..

    There is window.appRootDir.fullPath through you get full path but before that you must use dirReady();

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
            <title>
                Insert title here
            </title>
            <script type="text/javascript" src="lib/android/cordova-1.7.0.js">
            </script>
            <script type="text/javascript">
                window.appRootDirName = "download_test";
                document.addEventListener("deviceready", onDeviceReady, false);
    
                function onDeviceReady() {
                    console.log("device is ready");
                    window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, gotFS, fail);
                }
    
                function fail() {
                    console.log("failed to get filesystem");
                }
    
                function gotFS(fileSystem) {
                    console.log("filesystem got");
                    window.fileSystem = fileSystem;
                    fileSystem.root.getDirectory(window.appRootDirName, {
                        create: true,
                        exclusive: false
                    }, dirReady, fail);
                }
    
                function dirReady(entry) {
                    window.appRootDir = entry;
                    console.log("application dir is ready");
                }
    
    
                downloadFile = function() {
                    var fileTransfer = new FileTransfer();
    
                    var url = "http://www.irs.gov/pub/irs-pdf/fw4.pdf";
                    var filePath = window.appRootDir.fullPath + "/test.pdf";
                    fileTransfer.download(
                    url, filePath, function(entry) {
                        alert("download complete: " + entry.fullPath);
                    }, function(error) {
                        alert("download error" + error.source);
                    });
                }
            </script>
        </head>
    
        <body>
            <a href="#" onclick="downloadFile()">Download File</a>
        </body>
    
    </html>
    
    0 讨论(0)
  • 2021-01-19 18:12

    you can also get your directory by this code. code reference from phonegap documentation.

        document.addEventListener("deviceready", onDeviceReady, false);
    
        // device APIs are available
        //
        function onDeviceReady() {
            window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, onFileSystemSuccess, fail);
        }
    
        function onFileSystemSuccess(fileSystem) {
            fileSystem.root.getDirectory("App_files", {create: false, exclusive: false}, onGetDirectoryWin, onGetDirectoryFail);
        }
    
        function fail(evt) {
            console.log(evt.target.error.code);
        }
    
        var onGetDirectoryWin = function(parent) {
    
        }
        var onGetDirectoryFail = function() {
            console.log("error getting dir")
        }
    
    0 讨论(0)
提交回复
热议问题