2017-03-08 142 views
0

它的我第一次火力地堡获得从火力地堡的图像,而不通过电话

上传它,我想创建一个“特殊优惠”

而且它会像我将通过浏览器上传图像和选项我的应用程序将下载它。我创建了一些代码,但是当我试图让图像我刚

一些事实:

  • 在火力点,我有子文件夹的报价
  • 我的照片被命名为Capture.png

E/StorageException: StorageException has occurred. 
        An unknown error occurred, please check the HTTP result code and inner exception for server response. 
        Code: -13000 HttpResult: 0 
E/StorageException: /image/png (No such file or directory) 
        java.io.FileNotFoundException: /image/png (No such file or directory) 
         at java.io.FileInputStream.open(Native Method) 
         at java.io.FileInputStream.<init>(FileInputStream.java:146) 
         at java.io.FileInputStream.<init>(FileInputStream.java:99) 
         at android.content.ContentResolver.openInputStream(ContentResolver.java:702) 
         at com.google.firebase.storage.UploadTask.<init>(Unknown Source) 
         at com.google.firebase.storage.StorageReference.putFile(Unknown Source) 
         at com.example.andrzej.forexapp.activities.fragments.SettingsFragment.configureSettingsMenus(SettingsFragment.java:147) 
         at com.example.andrzej.forexapp.activities.fragments.SettingsFragment.onCreateView(SettingsFragment.java:82) 
         at android.support.v4.app.Fragment.performCreateView(Fragment.java:2189) 
         at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1299) 
         at android.support.v4.app.FragmentManagerImpl.moveFragmentToExpectedState(FragmentManager.java:1528) 
         at android.support.v4.app.FragmentManagerImpl.moveToState(FragmentManager.java:1595) 
         at android.support.v4.app.BackStackRecord.executeOps(BackStackRecord.java:757) 
         at android.support.v4.app.FragmentManagerImpl.executeOps(FragmentManager.java:2355) 
         at android.support.v4.app.FragmentManagerImpl.executeOpsTogether(FragmentManager.java:2146) 
         at android.support.v4.app.FragmentManagerImpl.optimizeAndExecuteOps(FragmentManager.java:2098) 
         at android.support.v4.app.FragmentManagerImpl.execPendingActions(FragmentManager.java:2008) 
         at android.support.v4.app.FragmentManagerImpl$1.run(FragmentManager.java:710) 
         at android.os.Handler.handleCallback(Handler.java:751) 
         at android.os.Handler.dispatchMessage(Handler.java:95) 
         at android.os.Looper.loop(Looper.java:154) 
         at android.app.ActivityThread.main(ActivityThread.java:6119) 
         at java.lang.reflect.Method.invoke(Native Method) 
         at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:886) 
         at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776) 
E/StorageException: StorageException has occurred. 

这里是我的代码

private StorageReference storageReference; 
storageReference = FirebaseStorage.getInstance().getReference(); 
imageSettings.setVisibility(View.VISIBLE); 
       StorageReference islandRef = storageReference.child("offer/Capture.PNG"); 

       Uri file = Uri.fromFile(new File("image/png")); 
        islandRef.putFile(file).addOnSuccessListener(new OnSuccessListener<UploadTask.TaskSnapshot>() { 
         @Override 
         public void onSuccess(UploadTask.TaskSnapshot taskSnapshot) { 
          Uri downloadFile = taskSnapshot.getDownloadUrl(); 
          Picasso.with(getContext()).load(downloadFile).fit().centerCrop().into(imageSettings); 
         } 
        }); 

任何帮助approciate

编辑:

我试图通过类似代码获取图像:

Glide.with(this) 
        .using(new FirebaseImageLoader()) 
        .load(storageReference) 
        .into(imageSettings); 

,但我有一个例外:

我尝试所有和我得到的错误:

03-08 09:37:17.004 18382-19615/com.example.andrzej.forexapp E/NetworkRqFactoryProxy: NetworkRequestFactoryProxy failed with a RemoteException: 
                        com.google.android.gms.dynamite.DynamiteModule$zza: No acceptable module found. Local version is 0 and remote version is 0. 
                         at com.google.android.gms.dynamite.DynamiteModule.zza(Unknown Source) 
                         at com.google.android.gms.dynamite.DynamiteModule.zza(Unknown Source) 
                         at com.google.android.gms.internal.zzbre.<init>(Unknown Source) 
                         at com.google.android.gms.internal.zzbre.zzj(Unknown Source) 
                         at com.google.firebase.storage.StorageReference.zzaaN(Unknown Source) 
                         at com.google.firebase.storage.StreamDownloadTask.run(Unknown Source) 
                         at com.google.firebase.storage.StorageTask$8.run(Unknown Source) 
                         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) 
                         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) 
                         at java.lang.Thread.run(Thread.java:761) 
03-08 09:37:17.005 18382-19615/com.example.andrzej.forexapp E/StreamDownloadTask: Unable to create firebase storage network request. 
                        android.os.RemoteException 
                         at com.google.android.gms.internal.zzbre.<init>(Unknown Source) 
                         at com.google.android.gms.internal.zzbre.zzj(Unknown Source) 
                         at com.google.firebase.storage.StorageReference.zzaaN(Unknown Source) 
                         at com.google.firebase.storage.StreamDownloadTask.run(Unknown Source) 
                         at com.google.firebase.storage.StorageTask$8.run(Unknown Source) 
                         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) 
                         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) 
                         at java.lang.Thread.run(Thread.java:761) 
03-08 09:37:17.005 18382-19615/com.example.andrzej.forexapp E/StorageException: StorageException has occurred. 
                       An unknown error occurred, please check the HTTP result code and inner exception for server response. 
                       Code: -13000 HttpResult: 0 
03-08 09:37:17.005 18382-19615/com.example.andrzej.forexapp E/StorageException: null 
                       android.os.RemoteException 
                        at com.google.android.gms.internal.zzbre.<init>(Unknown Source) 
                        at com.google.android.gms.internal.zzbre.zzj(Unknown Source) 
                        at com.google.firebase.storage.StorageReference.zzaaN(Unknown Source) 
                        at com.google.firebase.storage.StreamDownloadTask.run(Unknown Source) 
                        at com.google.firebase.storage.StorageTask$8.run(Unknown Source) 
                        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) 
                        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) 
                        at java.lang.Thread.run(Thread.java:761) 
03-08 09:37:17.005 18382-19615/com.example.andrzej.forexapp E/StorageException: StorageException has occurred. 
                       An unknown error occurred, please check the HTTP result code and inner exception for server response. 
                       Code: -13000 HttpResult: 0 
03-08 09:37:17.005 18382-19615/com.example.andrzej.forexapp E/StorageException: null 
                       android.os.RemoteException 
                        at com.google.android.gms.internal.zzbre.<init>(Unknown Source) 
                        at com.google.android.gms.internal.zzbre.zzj(Unknown Source) 
                        at com.google.firebase.storage.StorageReference.zzaaN(Unknown Source) 
                        at com.google.firebase.storage.StreamDownloadTask.run(Unknown Source) 
                        at com.google.firebase.storage.StorageTask$8.run(Unknown Source) 
                        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133) 
                        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607) 
                        at java.lang.Thread.run(Thread.java:761) 
03-08 09:37:17.644 18382-18492/com.example.andrzej.forexapp E/EGL_emulation: tid 18492: eglSurfaceAttrib(1174): error 0x3009 (EGL_BAD_MATCH) 

回答

3

根据你的代码片段,你传递主存储引用(即, storageReference)而不是图像文件的参考(ieislandRef)

StorageReference storageReference = 
    FirebaseStorage.getInstance().getReference(); 

StorageReference islandRef = 
    storageReference.child("offer/Capture.PNG"); 

Glide.with(this) 
    .using(new FirebaseImageLoader()) 
    .load(islandRef) 
    .into(imageSettings);