//namePlate.js
import React from 'react';
const NamePlate = (props)=>(
<div className = 'namePlate' style = {props.color(props.name)}>
{props.name}
<button id = {props.id} type = 'button' onClick = {props.onClick}>x</button>}
</div>
)
export default NamePlate
//namePlate.test.js
import React from 'react';
import NamePlate from './namePlate.js';
import {shallow} from 'enzyme';
it('renders', () => {
const wrapper = shallow(<NamePlate name = 'Test' id = '1' onClick ={() =>{}} color = {()=>{}}/>);
expect(wrapper.find('div')).to.have.lengthOf(1);
})
的Google Cloud Storage documentation建议可以指定目标文件夹:
download()
无论我在文件中输入什么值,总会在根级别将其下载到Firebase Cloud Storage。 question表示路径不能以斜杠开头,而是将示例更改为
file.download({
destination: '/Users/me/Desktop/file-backup.txt'
}, function(err) {});
没什么不同。
将目的地更改为
file.download({
destination: 'Users/me/Desktop/file-backup.txt'
}, function(err) {});
导致错误消息:
file.download({
destination: ".child('Test_Folder')",
})
云存储EROFS: read-only file system, open '.child('Test_Folder')'
(文件夹和文件名)的正确语法是什么?
将存储桶从destination
更改为myapp.appspot.com
会导致错误消息:
myapp.appspot.com/Test_Folder
此外,示例路径似乎还指定了个人计算机硬盘驱动器上的位置。为Cannot parse JSON response
设置Cloud Storage文件夹似乎很奇怪。这是否意味着除了Cloud Storage之外,还有其他方法可以指定目的地?
这是我的代码:
Desktop
答案 0 :(得分:3)
文件系统的唯一可写部分是/ tmp目录,该目录 您可以用来在函数实例中存储临时文件。这是一个 本地磁盘挂载点,称为“ tmpfs”卷,在其中写入数据 将卷存储到内存中。请注意,它将消耗内存 为该功能配置的资源。
文件系统的其余部分是只读的,并且可供 功能。
您应该使用os.tmpdir()
来获取当前运行时的最佳可写目录。
答案 1 :(得分:0)
感谢道格,代码现在可以运行了:
exports.Storage = functions.firestore.document('Storage_Value').onUpdate((change, context) => {
const {Storage} = require('@google-cloud/storage');
const storage = new Storage();
const bucket = storage.bucket('myapp.appspot.com');
const options = {
destination: 'Test_Folder/hello_world.dog'
};
bucket.upload('hello_world.ogg', options)
.then(function(data) {
const file = data[0];
});
return 0;
});
该函数从项目的hello_world.ogg
文件夹中获取文件functions
,然后将其写入Firebase Cloud Storage中的Test_Folder
,并将文件名更改为{{ 1}}。我复制了下载URL,并且音频文件播放完美。
昨天,我认为将文件hello_world.dog
变得更有意义时,将文件写入Cloud Storage似乎很奇怪。 :-)
答案 2 :(得分:0)
您可以使用以下代码或命令将文件从Google云端存储下载到计算机上 在电脑上安装python 在您的PC上安装GCS 点安装google-cloud-storage kesaktopdi.appspot.com 下载.json文件并将其保存在/ home / login /文件夹中 变更帐号 https://console.cloud.google.com/apis/credentials/serviceaccountkey?project=kesaktopdi
import os
ACCOUNT_ID='kesaktopdi'
os.environ["GOOGLE_APPLICATION_CREDENTIALS"]="/home/login/" + ACCOUNT_ID + ".json"
def download_blob(bucket_name, source_blob_name, destination_file_name):
storage_client = storage.Client()
bucket = storage_client.get_bucket(bucket_name)
blob = bucket.blob(source_blob_name)
blob.download_to_filename(destination_file_name)
#print('Blob {} downloaded to {}.'.format(source_blob_name,destination_file_name))
download_blob(ACCOUNT_ID +'.appspot.com', #account link
'user.txt', #file location on the server
'/home/login/kesaktopdi.txt') #file storage on a computer
您还可以使用以下命令将文件从Google Cloud Storage服务器下载到您的计算机。
file location on the server file storage on a computer
gsutil -m cp -r gs://kesaktopdi.appspot.com/text.txt /home/login
该程序是由APIuz团队https://t.me/apiuz
创建的