2014-12-12 2 views
-2

В настоящее время я работаю в Андроид-галерее, используя Unity и Eclipse.Unity WWW local image URL

Мне удалось получить URL-адреса, такие как «content: //com.android.providers ....» или получить «/ document/image: 123».

Однако я не уверен, что добавить в параметр для WWW. Когда я использую

WWW ("/document/image:123");

я получу файл не найдено исключение.

При использовании

WWW ("file://content://com.android.providers....");

я буду получать «Ошибка открытия изображения: содержание // com.android.providers ..... это не абсолютный путь

Может кто-то пожалуйста, руководство меня. как эта работа

ответ

2

file:// как и content:// протоколы - вы должны использовать один из них Unity предлагает использовать file://http://docs.unity3d.com/ScriptReference/WWW.html

..

У вас также есть доступ к файлу (приложение может читать его)? Это сработало для меня: WWW www = new WWW("file://" + Application.persistentDataPath + "/my-file.txt");

+0

Когда я использую только контент: //, я получил неизвестный протокол ошибки, поэтому я также попытался добавить файл haha. Посредством доступа к файлу я добавил READ_EXTERNAL_STORAGE разрешение. Этого достаточно? Я пытаюсь получить изображение, которое я выбрал из галереи Android. Я использую WWW www = new WWW (.....), но я получаю ошибки как «не абсолютный путь». Любая идея, которая может работать? – KennethLJJ

+0

Попробуйте распечатать полный путь к файлу и открыть его на своем компьютере (если вы работаете в редакторе) или на своем устройстве. Если вы можете открыть его, вы должны иметь возможность открывать с Unity. – izeed

-1

Вы случайно пытаетесь открыть файл в своей папке StreamingAssets? Если это так, вам нужно извлечь его из файла jar, используя класс WWW. Путь вы хотите:

string path = "jar:file://" + Application.dataPath + "!/assets/"; 
+1

Нет, не имея дело с streamingassets. – KennethLJJ

0

При работе с классом WWW, вы должны использовать файл: // протокол для загрузки локальных файлов в Application.persistentDataPath. Пожалуйста, имейте в виду, при использовании протокола файла на Windows, и Windows, магазин приложений для доступа к локальным файлам, вы должны указать файла: ///три косые): http://docs.unity3d.com/ScriptReference/WWW.html

You может использовать класс System.Url для преобразования локального пути в URL-адрес, и он должен работать на всех платформах.

public static string GetFileURL(string path) 
{ 
    return (new System.Uri(path)).AbsoluteUri; 
} 
Смежные вопросы