可以使用gulp创建一个zip文件并上传而不使用临时文件?

 金和裤城_996 发布于 2023-01-17 10:15

我想创建一个zip文件并上传它而无需像这样写入临时文件到磁盘:

gulp.task( 'zip-upload', function() {
  return gulp.src( '**/*', { cwd: 'out/', cwdbase: true } )
    .pipe( zip( 'file.zip' ) )
    .pipe( request.put( 'https://myurl.com' ) );
});

但它抛出一个错误:

http.js:853
    throw new TypeError('first argument must be a string or Buffer');

TypeError: first argument must be a string or Buffer
    at ClientRequest.OutgoingMessage.write (http.js:853:11)
    at Request.write (.../node_modules/request/request.js:1315:25)

我最后通过使用两个任务来解决它,但这并不理想:

gulp.task( 'zip', function() {
  return gulp.src( '**/*', { cwd: 'out/', cwdbase: true } )
    .pipe( zip( 'file.zip' ) )
    .pipe( gulp.dest( './' ) );
});

gulp.task( 'upload', [ 'zip' ], function() {
  fs.createReadStream('file.zip').pipe( request.put( 'https://myurl.com' ) );
});

是否可以使用类似第一种方法的东西?

依赖关系:

npm install gulp-zip request

谢谢.

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有