使用http://ngcordova.com/我在尝试将照片保存到Android上的图库时遇到了问题。
在使用以下选项拍摄照片后,文件最初没有传回图像数据;
var options = {
destinationType: Camera.DestinationType.FILE_URI,
sourceType: Camera.PictureSourceType.CAMERA,
encodingType: Camera.EncodingType.JPEG,
correctOrientation: true,
saveToPhotoAlbum: true
};
我发现为了解决这个问题,由于forum,我不得不将相机插件从0.3.6降级到0.3.5。
保存的例程如下;
$cordovaCamera.getPicture(options).then(function (imagePath) {
var currentName = imagePath.replace(/^.*[\\\/]/, '');
var d = new Date(),
n = d.getTime(),
newFileName = n + ".jpg";
//Move the file to permanent storage
$cordovaFile.moveFile(cordova.file.externalRootDirectory, currentName, cordova.file.externalRootDirectory + "DCIM/Camera", newFileName).then(function(success){
//sucess
}, function(error){
//an error occured
//Booooooo
});
我不想要硬编码路径,但只是在测试是否可以将照片放在正确的目录中。我曾尝试过这个post的目录。
虽然cordova.file.tempDirectory始终为null,但我在Nexus 5上找到了。
用于保存到图库的相机插件是否存在错误,或者它是否已针对Android正确实现。
欢呼任何帮助。
答案 0 :(得分:0)
我认为您需要对#!/usr/bin/env python
import rospy
import sys
import time
import os
from nav_msgs.msg import OccupancyGrid
from nav_msgs.msg import MapMetaData
from std_msgs.msg import String
from std_msgs.msg import Float64
from std_msgs.msg import Int8MultiArray
def callback(OccupancyGrid):
mapdata.data = OccupancyGrid.data
pub = rospy.Publisher('mapprob', Int8MultiArray, queue_size=10)
pub.publish(mapdata)
def somethingCool():
global mapdata
mapdata = Int8MultiArray()
rospy.init_node('test_name', anonymous=False)
rospy.Subscriber("map", OccupancyGrid, callback)
rospy.loginfo(mapdata)
rospy.spin()
if __name__ == '__main__':
try:
somethingCool()
except rospy.ROSInterruptException:
pass
目录进行硬编码。
您可以从cache
只需删除文件名,然后您将获得imagePath
目录,相机插件会保存您的照片,然后根据需要将其移至cache
目录
*我已经测试了它,在我的例子中,external
目录是
cache