标签: file-transfer

使用cURL上传多个文件

我正在使用cURL使用PHP将图像文件从一台服务器传输到另一台服务器.这是我的cURL代码:

// Transfer the original image and thumbnail to our storage server
$ch = curl_init();
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_VERBOSE, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_URL, 'http://' . $server_data['hostname'] . '.localhost/transfer.php');
curl_setopt($ch, CURLOPT_POST, true);
$post = array(
    'upload[]' => '@' . $tmp_uploads . $filename,
    'upload[]' => '@' . $tmp_uploads . $thumbname,
    'salt' => 'q8;EmT(Vx*Aa`fkHX:up^WD^^b#<Lm:Q'
);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post); 
$resp = curl_exec($ch);
Run Code Online (Sandbox Code Playgroud)

这是我上传到的服务器上的transfer.php中的代码:

if($_FILES && $_POST['salt'] == 'q8;EmT(Vx*Aa`fkHX:up^WD^^b#<Lm:Q')
{
    // Save the files
    foreach($_FILES['upload']['error'] as $key => $error)
    {
        if ($error …
Run Code Online (Sandbox Code Playgroud)

php curl file-upload file-transfer

5
推荐指数
1
解决办法
7941
查看次数

通过流进行二进制与字符串传输

我正在使用WebSockets和Java进行一些实验.显然,根据WebSocket的最后草案,消息可以是二进制或纯字符串.我使用Webbit服务器,它有两个功能:

public void onMessage(WebSocketConnection connection, String message) 

public void onMessage(WebSocketConnection connection, byte[] message)
Run Code Online (Sandbox Code Playgroud)

我想知道是什么有所作为.byte []更快吗?或者为什么重要?我可以用字节写出我写的所有内容,因为即使字符串在传输时也被组成字节,那么为什么我们有两个多个方法?只有Google Chrome 15 Beta和16 Dev支持二进制传输,因此我考虑在客户端和服务器上使用Base64编码/解码.这是唯一的区别吗?如果我只读取每个字节,将它们组成一个字符串并发送它,该怎么办?我认为,唯一的区别是并非所有字节都是字符串字符,所以我只是在转换为字符串时添加开销?

tl; dr - >二进制传输和字符串传输有什么区别?

java string binary file-transfer websocket

5
推荐指数
1
解决办法
3185
查看次数

如何在移动设备上获取大文件的快速文件哈希算法

序言
然而,我在100Mb文件上测试md5,adler32和crc32时所做的一个重要发现是奇怪的是它需要同样的时间.这只能意味着我猜的两件事之一,即在Android设备上,文件系统是瓶颈而且它无法足够快地提供算法,或者我实现了JNI的基本错误,后者我可以忍受.

使用MD5算法在10Mb以下散列图像,mp3和文件等小文件需要几秒钟.

我的问题是我的文件大小超过100-700MB.

我的要求是下载的文件需要与原始源文件匹配.

我做了一些测试,为一个大小为100Mb的文件制作MD5哈希值.

在设备HTC Desire Android v2.2上我运行了jni原生测试和java MessageDigest.getInstance("MD5");测试.

两个测试都计算了相同文件的MD5,并且两次测试运行近似相同的时间长度为1-2min.我调试了.

据我所知,Native测试会更快.

如何在上述设备上将散列时间降低到10-15秒为100MB.
这样做的成本当然是碰撞准确性,但我可以接受,一百万分之一的散列不一样.

更新 我不是大师,但这是我对MD5的测试c代码.这个速度并不比Java快得多MessageDigest.感觉就像我在Android主UI线程上运行一样.

#include <android/log.h>
#include <stdio.h>
#include <sys/types.h>
#include <time.h>
#include <string.h>
#include <inttypes.h>
#include <jni.h>
#include <stdlib.h>
/* typedef a 32 bit type */
typedef unsigned long int UINT4;

/* Data structure for MD5 (Message Digest) computation */
typedef struct {
  UINT4 i[2];                   /* number of _bits_ handled mod 2^64 */
  UINT4 buf[4];                                    /* scratch buffer */
  unsigned char in[64];                              /* …
Run Code Online (Sandbox Code Playgroud)

hash java-native-interface android md5 file-transfer

5
推荐指数
1
解决办法
2585
查看次数

文件传输:在android中使用smack传输文件时显示文件大小0KB

获取问题,而使用的Smack库和明火服务器在Android文件传输,对其它设备接收空文件,而一个设备传送文件到另一个,它展示的0KB size.when我打开它,它显示空白screen.i不知道它背后的问题是什么.

我正在使用此链接进行实施.我的代码是:

public void ReceiveFile() {

    ServiceDiscoveryManager sdm = ServiceDiscoveryManager.getInstanceFor(connection);

    if (sdm == null)``
    {
        sdm = new ServiceDiscoveryManager(connection);
        Log.e("service discovery", "SDM");
    sdm.addFeature("http://jabber.org/protocol/disco#info");

    sdm.addFeature("jabber:iq:privacy");
    }

    FileTransferManager manager = new FileTransferManager(connection);
    Log.e("after manager", "manager");
    manager.addFileTransferListener(new FileTransferListener() {
       public void fileTransferRequest(final FileTransferRequest request) {
          new Thread(){
             @Override
             public void run() {
                 Log.e("Thread running", "starting");
                IncomingFileTransfer transfer = request.accept();
                File mf = Environment.getExternalStorageDirectory();
                Log.e("path", mf.getAbsoluteFile()+"/DCIM/" + transfer.getFileName());
                File file = new File(mf.getAbsoluteFile()+"/DCIM/" + transfer.getFileName());

                try{
                    transfer.recieveFile(file);
                    while(!transfer.isDone()) {
                       try{
                          Thread.sleep(1000L); …
Run Code Online (Sandbox Code Playgroud)

android xmpp openfire file-transfer smack

5
推荐指数
0
解决办法
1448
查看次数

如何加速局域网中的 scp 文件传输

介绍

我正在尝试使用scp来自终端的命令通过 ssh 传输文件。我实现的传输速率很差,远低于我在互联网上看到的。我需要一些帮助来加快速度。

硬件

  • 戴尔 Latitude D830
  • 戴尔 XPS 15
  • Experia Box V8 路由器

软件

  • Chakra Linux(两者)
  • Linux 内核 3.12.6-1(两者)
  • KDE 4.12.1 (XPS)
  • KDE 4.12.0(纬度)
  • OpenSSH_6.2p2(两者)
  • OpenSSL 1.0.1e(两者)

网络

  • 笔记本电脑连接到 WiFi(无以太网连接)
  • 笔记本电脑相距 5 厘米,距离路由器 50 厘米
  • 笔记本电脑在同一个局域网内

测试

我使用以下方法将电影 Mud (Mud.mp4 = 690 MB) 从 Latitude 传输到 XPS 笔记本电脑:

scp 192.168.2.3:~/Videos/Mud.mp4 ~/
Run Code Online (Sandbox Code Playgroud)

传输速率:~1.6 MB/s

scp -c arcfour 192.168.2.3:~/Videos/Mud.mp4 ~/
Run Code Online (Sandbox Code Playgroud)

传输速率:~1.6 MB/s

scp -C -c arcfour 192.168.2.3:~/Videos/Mud.mp4 ~/
Run Code Online (Sandbox Code Playgroud)

传输速率:从 ~4.5 MB/s 开始在 ~55 秒内下降到 ~1.6 MB/s

河豚的结果几乎相似。

题 …

ssh lan scp openssh file-transfer

5
推荐指数
0
解决办法
4356
查看次数

如何从Cordova文件传输插件获取mimeType?

我正在开发混合移动应用程序。

在一种情况下,当我们选择或上传文件时,我们需要从文件中获取mimeType。

我正在使用apache FileTransfer。

window.resolveLocalFileSystemURL(fileURI,resolveOnSuccess,resolveOnFail)

javascript file-transfer mime-types cordova apache-cordova

5
推荐指数
2
解决办法
6080
查看次数

将文件从远程服务器上的Docker卷复制到本地主机的最佳方法?

我有,

  1. 我的笔记本电脑
  2. 一个远程服务器,我可以SSH到其中有一个Docker卷,其中有一些我想要复制到我的笔记本电脑的文件.

复制这些文件的最佳方法是什么?使用诸如rsync之类的东西的加分点.快速/可以恢复/显示进度而不写任何临时文件.

注意:我的远程服务器上的用户没有权限将数据直接从卷装入中删除/var/lib/docker,尽管我可以在那里运行任何容器.

ssh file-transfer docker

5
推荐指数
1
解决办法
990
查看次数

从S3转移到Google存储 - 错误的密钥

我已经尝试过去几个小时来设置从S3到我的谷歌存储桶的转移.

创建传输时,我不断收到的错误是:"无效的访问密钥.确保S3存储桶的访问密钥正确,或将存储桶权限设置为"授予所有人".

鉴于它们当前正在生产中用于S3完全访问,因此访问密钥和秘密都是正确的.

有几点需要注意:

  1. 在S3存储桶上启用CORS
  2. 存储桶策略仅允许经过身份验证的AWS用户列出/查看其内容
  3. S3需要签名URL才能访问

桶政策:

{
    "Version": "2008-10-17",
    "Id": "Policy234234234",
    "Statement": [
        {
            "Sid": "Stmt234234",
            "Effect": "Allow",
            "Principal": {
                "AWS": "*"
            },
            "Action": [
                "s3:AbortMultipartUpload",
                "s3:GetObjectAcl",
                "s3:RestoreObject",
                "s3:GetObjectVersion",
                "s3:DeleteObject",
                "s3:DeleteObjectVersion",
                "s3:PutObjectVersionAcl",
                "s3:PutObjectAcl",
                "s3:GetObject",
                "s3:PutObject",
                "s3:GetObjectVersionAcl"
            ],
            "Resource": "arn:aws:s3:::mybucket/*"
        },
        {
            "Sid": "2",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::cloudfront:user/CloudFront Origin Access Identity xyzmatey"
            },
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::mybucket/*"
        },
        {
            "Sid": "3",
            "Effect": "Allow",
            "Principal": {
                "AWS": "*"
            },
            "Action": [
                "s3:ListBucket",
                "s3:GetBucketLocation"
            ],
            "Resource": "arn:aws:s3:::mybucket"
        }
    ] …
Run Code Online (Sandbox Code Playgroud)

amazon-s3 file-transfer google-cloud-storage

5
推荐指数
2
解决办法
2859
查看次数

如何在insomnia.rest中发送带有Graphql突变的文件?

我正在尝试将带有graphql突变的图像上传到我的服务器,如何用insomnia.rest测试它?Graphql查询的结构化请求不显示任何字段来添加文件。另外,如果失眠是不可能的,我还可以使用其他替代方法来测试这种情况吗?

file-transfer graphql graphene-python

5
推荐指数
1
解决办法
1162
查看次数

从IONIC 3中的assets文件夹下载CSV文件

我有一个demo-file.csv文件,它在assets/csv文件夹中,所以如何从手机上下载,

这是我的HTML和组件代码.

HTML代码

<button ion-button type="button" block (click)="downloadFile('assets/csv/demo-file.csv', 'demo-file.csv')">Download Demo File</button>
Run Code Online (Sandbox Code Playgroud)

组件代码

 public downloadFile(link: any, fileName: any) {
      if (link) {
        let path = null;
        this.showWaitingLoading();
        if (this.platform.is('ios')) {
          path = this.file.documentsDirectory;
        } else {
          path = this.file.dataDirectory;
      }

      const transfer = this.transfer.create();

      transfer.download(link, path + fileName).then(entry => {
        this.dismissWaitingLoading();
        this.openFile(entry.toURL());
      }).catch(() => {
        this.dismissWaitingLoading();
        this.showToastMsg('error', "Something went wrong");
      });
     }
    }
/* ================= OPNE FILE FUNCTION ===========*/

public openFile(path: any) {
   this.fileOpener.open(path, 'application/*')
     .then(() => …
Run Code Online (Sandbox Code Playgroud)

javascript file-transfer ionic2 ionic3 angular

5
推荐指数
1
解决办法
1025
查看次数