Heim  >  Artikel  >  Backend-Entwicklung  >  阿里云OSS上传多个文件的时候,是一个一个文件上传到OSS还是整个文件夹上传?

阿里云OSS上传多个文件的时候,是一个一个文件上传到OSS还是整个文件夹上传?

WBOY
WBOYOriginal
2016-06-06 20:36:503349Durchsuche

阿里云OSS提供了有两种上传文件的方式。

<code>//通过multipart上传文件
function upload_by_multi_part($obj){
    $bucket = 'phpsdk1349849394';
    $object = 'Mining.the.Social.Web-'.time().'.pdf';  //英文
    $filepath = "D:\\Book\\Mining.the.Social.Web.pdf";  //英文

    $options = array(
        ALIOSS::OSS_FILE_UPLOAD => $filepath,
        'partSize' => 5242880,
    );

    $response = $obj->create_mpu_object($bucket, $object,$options);
    _format($response);
}

//通过multipart上传整个目录
function upload_by_dir($obj){
    $bucket = 'phpsdk1349849394';
    $dir = "D:\\alidata\\www\\logs\\aliyun.com\\oss\\";
    $recursive = false;

    $response = $obj->create_mtu_object_by_dir($bucket,$dir,$recursive);
    var_dump($response);    
}
</code>

有两种方案:
1.一种是上传一个单个文件,当服务器收到N个文件,通过第一个函数分N次上传。
2.第二种是我把多个文件从临时目录转移到一个临时文件下,通过第二个函数,一次性上传!但是觉得这样很麻烦,既要创建一个新的文件夹,保存上传的文件,上传结束以后还要做删除。
这两种那种好?如果第二种好,能直接在上传的时候就直接给N个临时文件一个独有的临时目录么?

回复内容:

阿里云OSS提供了有两种上传文件的方式。

<code>//通过multipart上传文件
function upload_by_multi_part($obj){
    $bucket = 'phpsdk1349849394';
    $object = 'Mining.the.Social.Web-'.time().'.pdf';  //英文
    $filepath = "D:\\Book\\Mining.the.Social.Web.pdf";  //英文

    $options = array(
        ALIOSS::OSS_FILE_UPLOAD => $filepath,
        'partSize' => 5242880,
    );

    $response = $obj->create_mpu_object($bucket, $object,$options);
    _format($response);
}

//通过multipart上传整个目录
function upload_by_dir($obj){
    $bucket = 'phpsdk1349849394';
    $dir = "D:\\alidata\\www\\logs\\aliyun.com\\oss\\";
    $recursive = false;

    $response = $obj->create_mtu_object_by_dir($bucket,$dir,$recursive);
    var_dump($response);    
}
</code>

有两种方案:
1.一种是上传一个单个文件,当服务器收到N个文件,通过第一个函数分N次上传。
2.第二种是我把多个文件从临时目录转移到一个临时文件下,通过第二个函数,一次性上传!但是觉得这样很麻烦,既要创建一个新的文件夹,保存上传的文件,上传结束以后还要做删除。
这两种那种好?如果第二种好,能直接在上传的时候就直接给N个临时文件一个独有的临时目录么?

还没考虑上传失败的处理。
第一种方案可以上传一个标记一个,第二种方案上传失败了是全部重来还是其他?

另:没看到第二种方案的优势在哪里。如果不是打包上传,第二种方案跟第一种有何区别?

综上,第一种方案比较稳;第二种方案要考虑的太多,也没有带来多少便利,得不偿失。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn