Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Unity-Android-从手机存储器读取图像_C#_Android_Unity3d - Fatal编程技术网

C# Unity-Android-从手机存储器读取图像

C# Unity-Android-从手机存储器读取图像,c#,android,unity3d,C#,Android,Unity3d,我正在编写一个脚本,应该上传一个图像。 以下是我到目前为止的情况: //This is how I am calling the UploadImage function yield return StartCoroutine(UploadImage(Application.persistentDataPath + "/DCIM/Camera/20180209_210616.jpg")); //This is the function itself IEnumerator UploadImag

我正在编写一个脚本,应该上传一个图像。 以下是我到目前为止的情况:

//This is how I am calling the UploadImage function
yield return StartCoroutine(UploadImage(Application.persistentDataPath + "/DCIM/Camera/20180209_210616.jpg"));

//This is the function itself
IEnumerator UploadImage(string filepath){
        WWWForm form = new WWWForm ();
        byte[] bytes = File.ReadAllBytes(filepath);
        Debug.Log (bytes.Length);
        form.AddField ("submit", filepath);
        form.AddBinaryData ("fileToUpload", bytes, "sp.jpeg", "image/jpg");
        Debug.Log (form);

        WWW www = new WWW (UploadImageURL, form);

    yield return www;
    if (www.error == null) {
        Debug.Log ("Upload done " + www.isDone);
    } else {
        Debug.Log ("Error " + www.error);
    }
}
当我在我的计算机上执行这段代码并将类似于“C:/sp.jpg”的内容传递给UploadImage()函数时,这一切都可以完美地工作

当我在手机上尝试此功能时,它就不再工作了,我假设文件路径有问题,但我不明白是什么原因

有什么想法吗?
谢谢

同样,您应该向程序中添加loadimage系统,以了解该路径是否真的指向该路径:使用我使用的路径,它不会打扰我XD:

http://www.mediafire.com/file/id6lrsg4elxoajm/WindowUtility.cs/file
编辑:


它100%是我的,不会打扰我,别担心

您可能会忘记将此权限添加到AndroidManifest.xml中。@BILA1409谢谢您的回答,不过我使用的是Unity,我还没有编写任何清单。这是我应该做的吗?你可以在Unity的播放器设置中这样做。将“写入权限”更改为“外部”,它将为您将其添加到清单中。顺便说一下,我认为这不是问题所在。你没有解释到底是什么不起作用,所以不可能帮助你。使用
Debug.Log
找出代码的哪部分不起作用。@程序员我已经更改了Unity中的写入权限。我已经添加了调试日志,现在看起来像是函数错误byte[]bytes=File.ReadAllBytes(filepath);如果我执行类似File.Exists()的检查,它将返回True,因此它正在读取某些内容请再次阅读我的注释。它只是解释如何做@bila1409提到的事情,因为您不知道如何在Unity中做到这一点。我甚至提到这不是问题。。。。