- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
当我从我的平板电脑上传一张 100kb
的图片到 JCIFS 的 samba 共享时出现问题,大约需要 10-20 分钟(在我将缓冲区从 1024 更改为 20971520 之前
花了将近 6 个小时)但增加它不再产生任何效果
这不是连接问题,因为我已经用 ES 文件
测试了它,它立即上传了我的图片
private class MyCopy extends AsyncTask<String, String, String> {
String z = "";
String username = "", password = "", servername = "", filestocopy = "";
@Override
protected void onPreExecute() {
username = edtusername.getText().toString();
password = edtpassword.getText().toString();
servername = "smb://" + edtservername.getText().toString();
filestocopy = editdir.getText().toString();
}
protected String doInBackground(String... params) {
// String buffer;
// buffer = setingPreferences.getString("buffer", "");
File file = new File(filestocopy);
String filename = file.getName();
NtlmPasswordAuthentication auth1 = new NtlmPasswordAuthentication(
servername, username, password);
try {
SmbFile sfile = new SmbFile(servername + "/" + filename, auth1);
if (!sfile.exists())
sfile.createNewFile();
sfile.connect();
InputStream in = new FileInputStream(file);
SmbFileOutputStream sfos = new SmbFileOutputStream(sfile);
byte[] buf = new byte[20971520]; //(parseInt(buffer))
int len;
while ((len = in.read(buf)) > 0){
sfos.write(buf, 0, len);
}
in.close();
sfos.close();
z = "File copied successfully";
} catch (Exception ex) {
z = z + " " + ex.getMessage().toString();
}
return z;
}
}
最佳答案
缓冲区大小应该不会有明显差异,但绝对不应该是 20M。请改用 4k 之类的东西。
您确定真正的文件传输花费了这么长时间吗?没有理由 100k 最多需要几秒钟。您是否尝试过在每个步骤之间放置日志语句,包括身份验证调用、createNewFile()
和 connect()
之前和之后,以检查这些是否是瓶颈?
此外,我认为您应该在读取长度为 >= 0
而不是严格的 > 0
时复制字节,因为 -1 表示流结束,不是 0。
关于Android上传到网络驱动器(samba共享)性能问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39548094/
我想通过 samba 共享在我的 linux 机器上编辑 Solr 配置文件。这些文件需要是 tomcat6:mygroup,但是当我通过 Windows 编辑文件时,它会将它们写入 myuser:m
我在用于开发的 FreeBSD 机器上有一个 samba 网络共享。 我在我的 WinXP 机器上将其设置为共享驱动器,并且运行良好。 但是,如果我重新启动 xp 盒,共享驱动器将无法访问,直到我单击
但是,据最近一次,国外科技网站w3techs的数据显示,截止到2010年7月28日,CentOS以高达31.6%的份额占据了Linux Web服务器的榜首,第二和第三分别是Debian和Red Ha
我已经设置了一个我正在修补的新 linux 盒子。我一直设置的一项是 samba,以便我可以轻松地将文件复制到服务器或从服务器复制文件。 我提出这个话题的原因是我无法从我的 Windows 机器浏览到
我正在尝试使用 samba 将用户导入 samba-tool 。 我可以添加具有任意属性的用户,假设测试用户有电话、职位等。从 samba wiki 我找到了以下片段,其中包含一些自定义属性: :~$
我正在尝试实现一个远程文件系统并且正在考虑使用 libsmbclient 要做到这一点。不幸的是,我在 googleling for 时没有遇到任何有用的文档 它。任何人都可以建议我详细描述 libs
我必须卸载samba ,因为我配置错误。但现在当我尝试使用 sudo apt-get install samba smbfs 重新安装它时,我得到输出:- Reading package lists.
我已经在我的树莓派上安装了运行 debian (raspbian) 的 samba 和 samba-common-bin 然后我更改 samba 的配置并在末尾添加以下内容: [photocam] c
为了提高性能,是否可以在 Linux 上从 CIFS 挂载文件异步读取? 谢谢!!! 最佳答案 Glibc 的 aio 实现创建线程来执行 I/O,因此它不依赖于文件系统类型来工作。 (另一方面,这也
我目前正在使用 CentOS 6.5 并尝试通过 samba 共享来共享文件。另一台机器是 Windows 8 x64。我可以毫无问题地将文件夹从 Windows 传输到 CentOS,但是,当我尝试
我有一台带有以下文件夹的 Ubuntu 机器。 我正在使用 samba 服务器共享文件夹。 我有 3 个用户: 用户 1 = 完全访问权限 用户 2 = 访问文件夹音乐(只读) 用户 3 = 访问文件
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界. 这篇CFSDN的博客文章SWAT—Samba WEB管理工具介绍由作者收集整理,如果你对这篇文章
我在两个 Linux 机器(Ubuntu Desktop 12.10 和 Ubuntu Server 12.04)之间设置了 Samba。出于某种原因,我无法写入我的 samba 共享。在我看来,我拥
我正在使用一台没有根访问权限的机器,并且想以随机访问模式访问 Samba 服务器上的文件。我知道我可以使用 smbclient 完整地传输文件,但文件非常大 (>1GB),我宁愿将它们视为我可以进行随
我有一个安装了 MS Office 的 Microsoft Server 2019 Standard。我还有一个 Linux 服务器,它共享每个用户的 ~/windows/登录时使用其 Windows
我目前正在运行全新安装的 CentOS 7(64 位)。除了通过 Samba 进行存储外,这台机器不用于任何用途。但是,由于某种奇怪的原因,我看不到让共享可以通过 Windows 写入。映射驱动器后,
我正在尝试运行以下代码: shaliya@achala:~$ sudo apt-get install samba Reading package lists... Done Building dep
我有一个用于 samba 客户端的 java 代码,它可以将文件从我的 unix 机器放到 windows 机器上。我需要检查目录是否存在,如果不存在,则创建目录,然后将文件放入该目录。我可以将文件放
我可以在没有身份验证的情况下毫无问题地在网络共享上映射驱动器。但是一旦我尝试使用用户名和密码进行身份验证,我就错过了一些东西。这是代码的当前工作示例,其中包含我不断收到的错误消息。 #!/usr/bi
我正在尝试在我的树莓派上设置一个 samba 服务器。 我安装了 samba 并对我在各种 YouTube 视频或博客文章中找到的 smb.conf 进行了一些修改。 $ testparm/etc/s
我是一名优秀的程序员,十分优秀!