我有一个我无法理解的遗留脚本.
该脚本是通过ftp将unix中的4个文件(2个ebcdic格式文件和2个pdf文件)传输到大型机.
ebcdic format file 1 is abc.xyz
ebcdic format file 2 is pqr.xyz
pdf file 1 is abc.pdf
pdf file 2 is pqr.pdf
mainframe file name is AM2P.BJCUN.SALCHG
Run Code Online (Sandbox Code Playgroud)
脚本中的命令语法如下:
quote site recfm=fb
put /myfiles/abc.xyz AM2P.BJCUN.SALCHG
append /myfiles/abc.pdf AM2P.BJCUN.SALCHG
append /myfiles/pqr.xyz AM2P.BJCUN.SALCHG
append /myfiles/pqr.pdf AM2P.BJCUN.SALCHG
Run Code Online (Sandbox Code Playgroud)
我希望通过SCP实现同样的目标.
有人可以告诉你在scp中ftp的put和append命令的等价物吗?
我需要在我的移动设备上下载文件,并使其可以访问其他应用程序(使用Android和iOS).
我设法将文件下载到SD卡(cordova.file.externalDataDirectory),但这仅存在于Android上,即便如此,我也不能依赖每个拥有SD卡的设备.
当我下载到设备存储(cordova.file.dataDirectory)时,该文件对我的应用程序是私有的,因此其他应用程序无法访问.该文件可以在InAppBrowser中打开,但我更喜欢使用相应的默认应用程序.
有没有办法在所有设备上公开可用的目录路径?
在/sf/answers/1496306871/中建议的解决方案返回的路径在Android上都是私有的...
编辑:
我想我应该描述一下我的用例,以便我更清楚我想要实现的目标:我想使用相应的默认应用程序(pdf查看器,图像查看器等)从我的应用程序聊天中打开文件.因为Cordova File Opener插件只接受来自本地文件系统的文件,所以我需要先保存它们.但他们之后不一定需要从我的应用程序外部访问...
在ssh协议中,是否有文件传输机制?
我正在处理已有ssh设施代码的现有代码库.现在我需要通过ssh连接传输文件.如果ssh协议已经支持它,我不必将scp内容集成到其中.
谢谢.
编辑:
我使用C,基于openssh的ssh代码.
由于某些限制,我必须以编程方式传输文件,而不是使用外部程序/命令.该程序应该在远程主机上逐块传输任何大小的文件,并在运行中处理该块.然后丢弃块数据.
我正在使用涉及许多客户端PC和一些服务器机器的设置.我需要在这些PC之间组织一种可靠而快速的文件传输方法,这将由在两者上运行的C#应用程序启动.任何客户端都可能希望从任何服务器发送/接收数据.选项是:
FTP - 使用FtpWebRequest或SOSFTP将文件上载到FTP服务器.服务器检查其文件系统上的新文件并执行所需的步骤.
SCP - 安全文件传输.用法与FTP相同,但增加了机器之间的安全性.可能比FTP慢.
DropBox/Box.Net - 使用带有SharpBox等库的在线云存储解决方案.可以免费/付费.考虑到该方拥有您的文件,可能不太安全.
UDP - 使用EME或GoAnywhere等库直接通过UDP将数据从PC传输到PC.由于它使用自定义技术,可能更快但可能更不可靠.
您有什么推荐的吗?
我正在构建一个使用System.IO.File.Copy(...)函数复制文件的服务器应用程序.我的文件可能相当大,因此,如果机器崩溃,它很有可能在复制期间发生.
重新启动服务后,我应该能够获取复制任务并继续.如何检测服务器崩溃是否成功完成或中断了副本?
我目前的计划是将文件复制到临时名称,复制完成后将其重命名为最终名称.这样,文件命名能够在崩溃时携带状态信息.
你有什么好的/更好的建议吗?
编辑:目标操作系统是Win2003,因此事务NTFS不可用
使用案例:
我正在开发一个涉及Android手机和Raspberry Pi的项目.Raspberry Pi单元将在现场种植传感器,偶尔用户可以随身携带电话并尝试从Raspberry Pi获取读数.所以应用程序的职责是获取数据并绘制图表.
设计:
我打算允许用户在设备配对后选择文件的位置.截至目前,已经完成了可用设备的识别,设备的程序化配对.但我无法从Android浏览Raspberry Pi的文件系统.你是如何实现这一目标的?
android bluetooth file-transfer android-bluetooth raspberry-pi2
我正在编写一个小应用程序,它可以读取必须定期从设备外部源写入存储设备的文件,无论是USB,蓝牙,Airdroid等.从我读过的,没有什么可以写到内部存储器.我想管理内部存储中的文件以获取访问隐私.
我的第一个解决方案是允许用户将文件写入外部存储器,然后点击按钮将其传输到内部存储器的活动.如果在n分钟内没有发生这种情况,则会破坏外部存储上的文件.但是,我发现这getExternalStorageDirectory是非常无用的,因为设备模仿内部存储上的外部存储,Android无法知道是否以及如何完成.
然而,我想知道是否没有某种内置活动允许用户直接从内部存储上传或下载文件,但不能免费访问内部存储的整个文件结构,就像他们使用内部存储一样.
作为最后的手段,也许我的应用程序可以通过TCP连接接收文件并将其写入内部存储本身.它很乱,但试图找到一张SD卡也是如此.请参阅问题查找外部SD卡位置.
新功能:此练习的目的是查找SD卡上目录中的所有.csv文件,让用户选择一个,处理它,并将输出文件写入SD卡.用户将输入"权重"值,该值将用于处理文件的计算中.
但是,由于Android在提供真正外部存储(即SD卡)的位置方面是如此不可靠,我想尝试将文件存储在内部存储中,其中Android似乎对该存储的位置更加诚实和可靠.
我正在尝试通过套接字写入传输文件或数据块.我觉得好像我正在重新发明轮子,但我对一个简单的解决方案的搜索失败了(我发现的一切都太简单或太复杂).服务器将在运行python 2.5.4的手机上运行.预期的应用是在电话和主机之间同步音乐文件.
这是我所拥有的内容,似乎有效.我发送并收到"确定"以分解流.
是来回发送'ok'作为停止位来分解数据流是一种合理的技术吗?
有没有标准的方法来做到这一点?
考虑到手机内存和处理能力的限制,在手机上运行任何类型的库服务器(ftp,http)都不是一个有用的解决方案.
服务器:
import socket
c = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
c.bind(('', 1234))
c.listen(1)
s,a = c.accept()
while True:
data = s.recv(1024)
cmd = data[:data.find('\n')]
if cmd == 'get':
x, file_name, x = data.split('\n', 2)
s.sendall('ok')
with open(file_name, 'rb') as f:
data = f.read()
s.sendall('%16d' % len(data))
s.sendall(data)
s.recv(2)
if cmd == 'end':
s.close()
c.close()
break
Run Code Online (Sandbox Code Playgroud)
客户:
import socket
s = socket.socket()
s.connect(('192.168.1.2', 1234))
def get_file(s, file_name):
cmd = 'get\n%s\n' % (file_name)
s.sendall(cmd)
r = s.recv(2)
size = int(s.recv(16)) …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用USB调试模式和Windows在Android设备上查看根级别的文件和文件夹.这可能吗?电话根深蒂固.
我已经下载了一个文件浏览器应用程序,它允许我在手机上查看它.
我的主要目标是从手机中复制mmssms.db.
我已经使用本教程实现了一些文件传输代码:
和我正在使用的代码:
- (void)sendToOtherDevice:(NSData *)fileData receiverJid:(NSString *)receiverJid
{
XMPPJID *jid = [XMPPJID jidWithString:receiverJid];
XMPPSIFileTransfer *sifiletransfer = [[XMPPSIFileTransfer alloc] init];
[sifiletransfer initiateFileTransferTo:jid withData:fileData];
NSString *s = [NSString stringWithFormat:@"%@/spark",receiverJid];
NSString *jabbarID = [[[[self appDelegate] xmppStream] myJID] bare];
XMPPJID *senderjid = [XMPPJID jidWithString:jabbarID];
//[TURNSocket setProxyCandidates:[NSArray arrayWithObjects:s, nil]];
// [TURNSocket setProxyCandidates:[NSArray arrayWithObjects:s,jabbarID, nil]];
[TURNSocket setProxyCandidates:[NSArray arrayWithObjects:jid.domain,senderjid.domain, nil]];
// [TURNSocket setProxyCandidates:[NSArray arrayWithObjects:jid.domain, nil]];
//[TURNSocket setProxyCandidates:[NSArray arrayWithObjects:@"111.11.111.111", nil]];
TURNSocket *socket1 = [[TURNSocket alloc] initWithStream:[self xmppStream] toJID:jid];
// [turnSockets addObject:turnSocket];
[socket1 startWithDelegate:self delegateQueue:dispatch_get_main_queue()];
}
-(void)turnSocket:(TURNSocket *)sender …Run Code Online (Sandbox Code Playgroud) file-transfer ×10
android ×4
.net ×2
ios ×2
android-file ×1
atomicity ×1
bluetooth ×1
c# ×1
cordova ×1
download ×1
filesystems ×1
ftp ×1
mainframe ×1
networking ×1
python ×1
robustness ×1
root ×1
scp ×1
sockets ×1
ssh ×1
unix ×1