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

//通过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);

}

有两种方案:

1.一种是上传一个单个文件,当服务器收到N个文件,通过第一个函数分N次上传。

2.第二种是我把多个文件从临时目录转移到一个临时文件下,通过第二个函数,一次性上传!但是觉得这样很麻烦,既要创建一个新的文件夹,保存上传的文件,上传结束以后还要做删除。

这两种那种好?如果第二种好,能直接在上传的时候就直接给N个临时文件一个独有的临时目录么?

还没考虑上传失败的处理。

第一种方案可以上传一个标记一个,第二种方案上传失败了是全部重来还是其他?

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

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

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐