Как я могу получить путь к файлу из этого типа URI контента?
blockquote>У вас нет, так как нет никакого файла вообще за
Uri
, не говоря уже о том, к которому вы можете получить доступ. ЭтоUri
может указывать на:
- Локальный файл на внешнем хранилище
- Локальный файл на внутренней памяти для другого приложения
- Локальный файл на съемном носителе
- Локальный файл, который зашифрован и должен быть дешифрован на лету
- Поток байтов, хранящихся в столбце
BLOB
в базе данных- Часть содержимого, которое должно быть загружено другим приложением первым
- ... и т. д.
Все другие приложения, такие как Facebook, Google+ это делает
blockquote>Нет, это не так. Они используют
ContentResolver
и:
openInputStream()
для чтения в байтах, связанных с содержимымgetType()
, чтобы получить тип MIME, связанный с содержимымquery()
иOpenableColumns
, чтобы получить размер и отображаемое имя, связанные с контентом
Это, вероятно, будет исправлено в более новых версиях MongoDB ( https://jira.mongodb.org/browse/SERVER-14204 ), а пока просто исправьте формулу.
brew edit mongodb
Найдите блок, который выглядит следующим образом:
args = %W[
--prefix=#{prefix}
-j#{ENV.make_jobs}
--cc=#{ENV.cc}
--cxx=#{ENV.cxx}
--osx-version-min=#{MacOS.version}
]
И измените минимальную версию OS X на 10,9, например:
args = %W[
--prefix=#{prefix}
-j#{ENV.make_jobs}
--cc=#{ENV.cc}
--cxx=#{ENV.cxx}
--osx-version-min=10.9
]
РЕДАКТИРОВАТЬ: Дополнительный шаг для DP3, DP4, PB1
Все еще в файле, добавьте следующие 3 строки чуть выше def install
.
def patches
{ :p1 => 'https://gist.githubusercontent.com/LinusU/a1771562fec0201c54cd/raw/98825f9fbe93b8cc524e05a9c0e99864e8301731/mongodb.diff' }
end
А затем выполнить обновление:
brew upgrade mongodb
Просто упомянуть - эта проблема была исправлена.
Построен и установлен сегодня (13.10.2014) через $ brew install mongodb
==> Summary
Похоже, патч был предложен. Но у меня нет никакой информации - https://groups.google.com/forum/#!topic/mongodb-user/KToczUct6BE
Я бы хотел, чтобы это работало также.
Если описанные Линусом шаги недостаточны, выполните дополнительные шаги (10.10 beta 3 и beta 4):
Раскомментируйте строки 181-189
// This one is safe to take as it's an extension
//#define htonll(x) ghtonll(x)
//
// ntoh* and hton* are the same thing for any size and bytesex,
// since the function is an involution, i.e., its own inverse.
//#define gntohl(x) ghtonl(x)
//#define gntohs(x) ghtons(x)
//#define gntohll(x) ghtonll(x)
//#define ntohll(x) htonll(x)
brew install mongodb
==> Downloading http://downloads.mongodb.org/src/mongodb-src-r2.6.3.tar.gz
Already downloaded: /Library/Caches/Homebrew/mongodb-2.6.3.tar.gz
Error: SHA1 mismatch
Expected: 226ab45e3a2e4d4a749271f1bce393ea8358d3dd
Actual: 593bbe9cb7e0b1d2368b3b6487893e8ba459acfb
Archive: /Library/Caches/Homebrew/mongodb-2.6.3.tar.gz