Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 更新部署-重新部署到google云后,上载的图像将被删除_Node.js_Google App Engine_Deployment_Google Cloud Platform_Google Appengine Node - Fatal编程技术网

Node.js 更新部署-重新部署到google云后,上载的图像将被删除

Node.js 更新部署-重新部署到google云后,上载的图像将被删除,node.js,google-app-engine,deployment,google-cloud-platform,google-appengine-node,Node.js,Google App Engine,Deployment,Google Cloud Platform,Google Appengine Node,因此,我有一个节点js web应用程序,这个web应用程序有一个文件夹来存储用户从移动应用程序上传的图像。如何将图像上载到文件夹是通过使用图像的base64字符串,并使用fs.writeFile将图像保存到文件夹中,如下所示: fs.writeFile(__dirname + '/../images/complaintImg/complaintcase_' + data.cID + '.jpg', Buffer.from(data.complaintImage, 'base64'), funct

因此,我有一个节点js web应用程序,这个web应用程序有一个文件夹来存储用户从移动应用程序上传的图像。如何将图像上载到文件夹是通过使用图像的base64字符串,并使用fs.writeFile将图像保存到文件夹中,如下所示:

fs.writeFile(__dirname + '/../images/complaintImg/complaintcase_' + data.cID + '.jpg', Buffer.from(data.complaintImage, 'base64'), function (err) {
    if (err) {
        console.log(err);
    } else {
        console.log("success");
    }
});
问题是,每当应用程序重新部署到谷歌云时,图像都会被删除。这是因为应用程序的本地版本的图像文件夹是空的-当用户上载图像时,我不会获得该图像的本地副本

如何防止每次部署时删除映像?由于该应用程序不断更新(对js或html文件的更改),我不能让图像在每次部署时都被删除。如何更新部署以仅部署某些文件?gcloud app deploy命令似乎部署了整个项目。或者我应该直接将图像上传到谷歌云存储


请帮助,目前该移动应用尚未向公众发布,因此每次部署时删除图像现在仍然不是一个大问题,但一旦向公众发布就会出现。因为他们上传的图片非常重要。提前谢谢你

您选择的
\uuu dirname
目录可能位于
/tmp
下,或者,如果您使用灵活的环境,则可能位于实例本地的其他目录下。如果是这样,则每当启动新实例时,映像就会消失(这通常发生在新部署时,但也可能发生在两次部署之间)。这是意料之中的,实例总是“从头开始”


您需要存储应用程序创建的文件,并且希望在持久性存储产品(如云存储)上的实例(重新)启动后继续生存,请参阅(或flexible env)。请注意,您不能在云存储中使用常规文件系统调用,您需要使用有文档记录的客户端库。

如Dan Cornilescu的回答中所述,对于用户上传的文件,您应该将其存储在云存储中以供或供使用

作为参考,对于那些使用Python2.7、Java8或PHP5的人,有一个替代方案,即