Javascript 如何使用phonegap打开android SD卡
大家好,我正试图将一个pdf文件上传到我的php服务器脚本中。我的pdf文件在android mobile上,它将仅在sd卡上,因此我想通过javascript使用phonegap打开android设备的sd卡。使用此Javascript 如何使用phonegap打开android SD卡,javascript,cordova,android-sdcard,Javascript,Cordova,Android Sdcard,大家好,我正试图将一个pdf文件上传到我的php服务器脚本中。我的pdf文件在android mobile上,它将仅在sd卡上,因此我想通过javascript使用phonegap打开android设备的sd卡。使用此 navigator.camera.getPicture(successFn, errorFn, { quality: 50, destinationType: navigator.camera.DestinationType.FILE_URI, sourceTyp
navigator.camera.getPicture(successFn, errorFn, { quality: 50,
destinationType: navigator.camera.DestinationType.FILE_URI,
sourceType: navigator.camera.PictureSourceType.PHOTOLIBRARY,
mediaType: navigator.camera.MediaType.ALLMEDIA });
这将打开选项,您可以在其中选择文件,选择其中一个将为您提供成功文件的名称和路径fn使用此选项
navigator.camera.getPicture(successFn, errorFn, { quality: 50,
destinationType: navigator.camera.DestinationType.FILE_URI,
sourceType: navigator.camera.PictureSourceType.PHOTOLIBRARY,
mediaType: navigator.camera.MediaType.ALLMEDIA });
U can easily do that its very easy
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, onFileSystemSuccessUpload, fail);
function onFileSystemSuccessUpload(fileSystem) {
// get directory entry through root and access all the folders
var directoryReader = fileSystem.root.createReader();
// Get a list of all the entries in the directory
directoryReader.readEntries(successReader,fail);
}
function successReader(entries) {
var i;
for (i=0; i<entries.length; i++) {
//alert(entries[i].name);
if(entries[i].isDirectory==true)
{
var directoryReaderIn = entries[i].createReader();
directoryReaderIn.readEntries(successReader,fail);
}
if(entries[i].isFile==true)
{
entries[i].file(uploadFile, fail);
}
}
};
function uploadFile(file) {
var target=""; //the url to upload on server
var ft = new FileTransfer(),path = "file://"+ file.fullPath,name = file.name;
ft.upload(path, target, win, fail, { fileName: name });
// var ft = new FileTransfer();
//ft.upload(file.fullPath, target, win, fail, options);
function win(r) {
alert("Code = " + r.responseCode);
alert("Response = " + r.response);
alert("Sent = " + r.bytesSent);
}
function fail(error) {
alert("An error has occurred: Code = " + error.code);
}
}
这将打开选项,您可以在其中选择文件,选择其中一个将为您提供成功文件的名称和路径fn请参阅我使用navigator.camera.PictureSourceType.PHOTOLIBRARY功能上传了一张图像以打开gallery,如wise我需要打开sdcard。。。我将如何做…看我做了一个图像上传,我使用navigator.camera.PictureSourceType.PHOTOLIBRARY功能打开图库,如wise我需要打开SD卡。。。我该怎么做…我需要上传一个.pdf文件,所以我只需要打开SD卡我怎么能打开没有选项只打开SD卡。用户必须导航到文件选择器中的sd卡文件夹。请看,我有一个按钮,如果我按下该按钮,它必须导航到移动sd卡…之后,用户可以选择他的文件并上传…你必须为此编写自己的phonegap插件。为了只打开sd卡内容,我需要上传一个.pdf文件,所以我只需要打开sd卡。我怎么能打开sd卡呢。用户必须导航到文件选择器中的sd卡文件夹。请看,我有一个按钮,如果我按下该按钮,它必须导航到移动sd卡…之后,用户可以选择他的文件并上传…你必须为此编写自己的phonegap插件。用于仅打开sd卡内容,如window.requestFileSystemLocalFileSystem.PERSISTENT,0,onFileSystemSuccessUpload,fail;这将打开android的SD卡。U将获得文件系统访问权限。然后使用var directoryReader=fileSystem.root.createReader;u将获得对目录条目对象的访问权,并使用该访问权访问设备文件系统中的所有文件夹。我已经这样做了。请您发布一个示例…我试图在上面发布的for循环do alertentries[I]中的SuccessReader函数中列出未获得访问权限的内容…名称;删除所有您将开始获取您设备文件系统上的目录和文件名的内容。把其他东西都拿走。都德你需要通过电话差距文件api文件需要了解这一点。顺便说一句,投票支持post:PSo SuccessReader函数足以打开sd卡路径,这样我就可以点击并上传任何文件…所以你说window.requestFileSystemLocalFileSystem.PERSISTENT,0,onFileSystemSuccessUpload,fail;这将打开android的SD卡。U将获得文件系统访问权限。然后使用var directoryReader=fileSystem.root.createReader;u将获得对目录条目对象的访问权,并使用该访问权访问设备文件系统中的所有文件夹。我已经这样做了。请您发布一个示例…我试图在上面发布的for循环do alertentries[I]中的SuccessReader函数中列出未获得访问权限的内容…名称;删除所有您将开始获取您设备文件系统上的目录和文件名的内容。把其他东西都拿走。都德你需要通过电话差距文件api文件需要了解这一点。顺便说一句,投票支持post:PSo SuccessReader功能足以打开sd卡路径,这样我就可以点击并上传任何文件。。。
U can easily do that its very easy
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, onFileSystemSuccessUpload, fail);
function onFileSystemSuccessUpload(fileSystem) {
// get directory entry through root and access all the folders
var directoryReader = fileSystem.root.createReader();
// Get a list of all the entries in the directory
directoryReader.readEntries(successReader,fail);
}
function successReader(entries) {
var i;
for (i=0; i<entries.length; i++) {
//alert(entries[i].name);
if(entries[i].isDirectory==true)
{
var directoryReaderIn = entries[i].createReader();
directoryReaderIn.readEntries(successReader,fail);
}
if(entries[i].isFile==true)
{
entries[i].file(uploadFile, fail);
}
}
};
function uploadFile(file) {
var target=""; //the url to upload on server
var ft = new FileTransfer(),path = "file://"+ file.fullPath,name = file.name;
ft.upload(path, target, win, fail, { fileName: name });
// var ft = new FileTransfer();
//ft.upload(file.fullPath, target, win, fail, options);
function win(r) {
alert("Code = " + r.responseCode);
alert("Response = " + r.response);
alert("Sent = " + r.bytesSent);
}
function fail(error) {
alert("An error has occurred: Code = " + error.code);
}
}