问题描述
// Imports the Google Cloud client libraries
const vision = require('@google-cloud/vision').v1;
// Creates a client
const client = new vision.ImageAnnotatorClient();
const gcsSourceUri = `gs://${bucketName}/${fileName}`;
const gcsDestinationUri = `gs://${bucketName}/${outputPrefix}/`;
const inputConfig = {
// Supported mime_types are: 'application/pdf' and 'image/tiff'
mimeType: 'application/pdf',gcsSource: {
uri: gcsSourceUri,},};
const outputConfig = {
gcsDestination: {
uri: gcsDestinationUri,};
const features = [{type: 'DOCUMENT_TEXT_DETECTION'}];
const request = {
requests: [
{
inputConfig: inputConfig,features: features,outputConfig: outputConfig,],};
const [operation] = await client.asyncBatchAnnotateFiles(request);
const [filesResponse] = await operation.promise();
const destinationUri =
filesResponse.responses[0].outputConfig.gcsDestination.uri;
console.log('Json saved to: ' + destinationUri);
“ destinationUri”不包含文件名。
例如,当gcsDestinationUri为gs:/*****/index/
时,destinationUri为gs:/*****/index
。
但是,作为结果保存在GCS中的文件是output-1-to-1.json
。
我搜索了操作Obj和filesResponse Obj,我找不到它。
谁知道我的问题?
解决方法
根据官方文档,文件名的格式为output-x-to-y
gcsDestination.uri-有效的Google Cloud Storage URI。铲斗必须 可由发出请求的用户或服务帐户写入。的 文件名将输出x-to-y,其中x和y代表PDF / TIFF 该输出文件中包含的页码。如果文件存在,则其 内容将被覆盖。
But,the file saved as result in GCS is output-1-to-1.json.
因此,我认为一切正常,并且您无法更改文件名。