2016-09-20 9 views
3

Я новичок в android, и я просто хочу сделать снимок с моего Android и сохранить его в общей папке на моем компьютере, Это была простая задача, и я сделал это, но теперь я я застрял на это, что я хочу, чтобы создать папку первой, например, MyServer/доля я не хочу, чтобы разместить фотографии здесь, я хочу, чтобы создать новую папку, как этот MyServer/акция/новую папкуНе удается создать Samba Directory Android

И я хочу, чтобы все мои фото вошли в эту новую папку. До сих пор я пробовал этот код.

    try 
        { 
         String url = "smb://serverpath/share/"+ edittext.getText().toString() +"/Test.jpg"; 
         SmbFile smfile = null; 
         try { 
          NtlmPasswordAuthentication auth =new NtlmPasswordAuthentication("domain","myuser","pass"); 

          smfile = new SmbFile(url, auth); 
          if(!smfile.exists()) 
          { 
           smfile.mkdirs(); 
          } 
          // output is like smb://mypc/e/sharedfoldername/file.txt; 
          SmbFileOutputStream out = new SmbFileOutputStream(smfile); 
          Bitmap bitmap = (Bitmap) data.getExtras().get("data"); 
          ByteArrayOutputStream stream = new ByteArrayOutputStream(); 
          bitmap.compress(Bitmap.CompressFormat.PNG, 100, stream); 
          byte[] byteArray = stream.toByteArray(); 
          out.write(byteArray); 
          out.flush(); 
          out.close(); 

         } catch (Exception e) { 
          e.printStackTrace(); 
          e.getCause(); 
         } 

но я получаю путь не найден исключение ниже,

09-20 12:01:21.691 18341-19275/com.test.test.cameraapplication W/System.err:   jcifs.smb.SmbException: The system cannot find the path specified. 
09-20 12:01:21.691 18341-19275/com.test.test.cameraapplication W/System.err:  at jcifs.smb.SmbTransport.checkStatus(SmbTransport.java:545) 
09-20 12:01:21.691 18341-19275/com.test.test.cameraapplication W/System.err:  at jcifs.smb.SmbTransport.send(SmbTransport.java:645) 
09-20 12:01:21.691 18341-19275/com.test.test.cameraapplication W/System.err:  at jcifs.smb.SmbSession.send(SmbSession.java:230) 
09-20 12:01:21.691 18341-19275/com.test.test.cameraapplication W/System.err:  at jcifs.smb.SmbTree.send(SmbTree.java:119) 
09-20 12:01:21.691 18341-19275/com.test.test.cameraapplication W/System.err:  at jcifs.smb.SmbFile.send(SmbFile.java:770) 
09-20 12:01:21.691 18341-19275/com.test.test.cameraapplication W/System.err:  at jcifs.smb.SmbFile.mkdir(SmbFile.java:2511) 
09-20 12:01:21.691 18341-19275/com.test.test.cameraapplication W/System.err:  at com.test.test.cameraapplication.MainActivity$2.run(MainActivity.java:180) 
09-20 12:01:21.691 18341-19275/com.test.test.cameraapplication W/System.err:  at java.lang.Thread.run(Thread.java:818) 

ответ

0

Ok Я решил это, я не знаю, если это правильное решение или нет, но все-таки я поделюсь этим я просто удалил имя файла из URL и создал каталог и после этого я приложил файл в этот каталог

Как это

     String url = "smb://myserver/share/"+ edittext.getText().toString(); 
         SmbFile smfile = null; 
         try { 
          NtlmPasswordAuthentication auth =new NtlmPasswordAuthentication("domain","user","password"); 

          smfile = new SmbFile(url, auth); 
          if(!smfile.exists()) 
          { 
           smfile.mkdirs(); 
          } 
          String timeStamp = new SimpleDateFormat("yyyyMMdd_HHmmss").format(new Date()); 
          url = "smb://myserver/share/"+ edittext.getText().toString()+"/IMG_"+ timeStamp + ".jpg";