我的应用程序可以从库中选择照片.我想要从这个选择中获取文件路径.
这是创建选择照片的意图的代码:
Intent photoPickerIntent = new Intent(Intent.ACTION_PICK,
MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
photoPickerIntent.setType("image/*");
startActivityForResult(photoPickerIntent, INTENT_REQUEST_CODE_SELECT_PHOTO);
Run Code Online (Sandbox Code Playgroud)
这是从URI获取文件路径的代码:
Cursor cursor = null;
String path = null;
try {
String[] projection = { MediaStore.Images.Media.DATA };
cursor = context.getContentResolver().query(contentUri, projection, null, null, null);
int columnIndex = cursor.getColumnIndexOrThrow(projection[0]);
cursor.moveToFirst();
path = cursor.getString(columnIndex);
} finally {
if (cursor != null) {
cursor.close();
}
}
return path;
Run Code Online (Sandbox Code Playgroud)
在昨天更新Google相册应用之前,一切都运转良好.path解析URI后现在为null.
URI类似于: content://com.google.android.apps.photos.contentprovider/0/1/content%3A%2F%2Fmedia%2Fexternal%2Fimages%2Fmedia%2F75209/ACTUAL
我还试图用Intent.ACTION_GET_CONTENT动作创建意图 - 没有运气.
最近,Google为Google+(加号)添加了照片应用,当您启动Intent选择图片时,它会显示出来.但是,如果我从Google+照片中选择图片并尝试在我的应用程序中使用它,我当前的逻辑都无法返回可用的URI或URL来实际获取我可以下载和操作的图像.我目前正在使用"常用"方法来尝试操作可在Stack Overflow和其他地方找到的URI.如果需要,我可以提供代码,但此时我觉得它有点无关紧要,因为除了这个新的应用程序之外,它适用于其他所有内容.关于如何获得可用图像的任何想法?
URI看起来如下所示:
content://com.google.android.apps.photos.content/0/https%3A%2F%2Flh5.googleusercontent.com%<a bunch of letters and numbers here>
Run Code Online (Sandbox Code Playgroud)
无论我从Google照片应用中选择什么,MediaColumns.DATA信息始终返回null并MediaColumns.DISPLAY_NAME始终返回image.jpg.如果我尝试将所有内容从https粘贴到浏览器的末尾,则不会出现任何问题.不知道如何从中获取有用的信息.
在我的rails应用程序中跟随routes.rb
resources :users
Run Code Online (Sandbox Code Playgroud)
导致'rake routes'的输出结果
users GET /users(.:format) users#index
POST /users(.:format) users#create
new_user GET /users/new(.:format) users#new
edit_user GET /users/:id/edit(.:format) users#edit
user GET /users/:id(.:format) users#show
PUT /users/:id(.:format) users#update
DELETE /users/:id(.:format) users#destroy
Run Code Online (Sandbox Code Playgroud)
&follow在routes.rb中(对于我的自定义控制器'home')
match '/new_user' => 'home#new_user', via: [:get]
match '/users/:id/edit' => 'home#edit_user', via: [:get]
match '/users/:id' => 'home#show_user', via: [:get]
match '/users/:id' => 'home#create_user', via: [:post]
Run Code Online (Sandbox Code Playgroud)
导致'rake routes'的输出结果
GET /new_user(.:format) home#new_user
GET /users/:id/edit(.:format) home#edit_user
GET /users/:id(.:format) home#show_user
POST /users/:id(.:format) home#create_user
Run Code Online (Sandbox Code Playgroud)
为什么第二种情况没有路径名?比如第一种情况('new_user','edit_user')
有没有办法让第二种情况的路径名?因为我想在我的视图中使用这些路径名称
我正在使用Rails 4.1.5和Mongoid 4.0.我的apis正在将mongo id作为哈希返回
{
_id: {
$oid: "541e79bc616b684e75000000"
}
created_at: "2014-09-21T07:09:48.599Z"
}
Run Code Online (Sandbox Code Playgroud)
我想要这样的东西
{
id: "541e79bc616b684e75000000"
created_at: "2014-09-21T07:09:48.599Z"
}
Run Code Online (Sandbox Code Playgroud)
我已经检查了这个问题,但我不确定我需要在哪个文件中添加此答案中提到的更改
我需要在对话框周围添加自定义边距。任何建议如何做到这一点?(对话框位置顶部:100 像素,左侧 50 像素等)
我在我的mongoinstance上创建了两个具有以下角色的用户
use mydb
db.createUser(
{
user: "dbUser",
pwd: "dbPassword",
roles: [ { role: "dbOwner", db: "mydb" } ]
}
)
use admin
db.createUser(
{
user: "adminUser",
pwd: "adminPassword",
roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
}
)
Run Code Online (Sandbox Code Playgroud)
使用以上凭据启动和运行MongoDb,现在当我尝试在终端中使用以下命令获取mongodump时
mongodump --host localhost --port 27017 -u dbUser -p dbPassword --authenticationDatabase mydb
Run Code Online (Sandbox Code Playgroud)
我收到以下错误,无法解决此问题
connected to: localhost:27017
assertion: 13 not authorized on admin to execute command { getParameter: 1, authSchemaVersion: 1 }
Run Code Online (Sandbox Code Playgroud)
任何的想法?我在哪里做错了?