【问题标题】:Can not Create Samba Directory Android无法创建 Samba 目录 Android
【发布时间】:2017-01-28 00:24:45
【问题描述】:

我是 android 新手,我只想从我的 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)

【问题讨论】:

    标签: android android-studio share samba jcifs


    【解决方案1】:

    好的,我解决了这个问题,我不知道这是否是一个正确的解决方案,但我仍然会分享这个我只是从 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";
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-04-20
      • 2014-08-23
      • 1970-01-01
      • 2016-11-25
      • 1970-01-01
      • 1970-01-01
      • 2023-03-03
      • 1970-01-01
      相关资源
      最近更新 更多