Удалите путь к файлу и имя файла, оставив имя файла в AWS Lambda с помощью Node - PullRequest
0 голосов
/ 01 февраля 2019

Я хочу извлечь путь к файлу, а затем имя файла с расширением, по сути, оставив меня с именем файла и файлом из объекта события в AWS Lambda, используя Node.js

Вот пример пути к файлу

/home/mysite/public_html/services/wp-content/uploads/woocommerce_uploads/wcj_uploads/input_fields_uploads/myfilename.docx
var docfilename = event.line_items[0].meta_data[0].value.tmp_name;
var docextension = event.line_items[0].meta_data[0].value.tmp_name;

console.log(event.line_items[0].meta_data[0].value.tmp_name);

Желаемым выводом будет просто «myfilename» в первом случае и «myfilename.docx» во втором случае

Ответы [ 3 ]

0 голосов
/ 01 февраля 2019

Для достижения этого я рекомендую использовать метод разделения , например:

var filePath = "/home/mysite/public_html/services/wp-content/uploads/woocommerce_uploads/wcj_uploads/input_fields_uploads/myfilename.docx";

let split1 = filePath.split("/"); // splits at the / character -> variable is an array containing all folders and the "myfilename.docx"

let split2 = split1[split1.length - 1]; // only takes the part after the last / -> variable is equal to "myfilename.docx"

let done = split2.split(".")[0]; // only takes the part before the . -> variable is equal to "myfilename"

console.log(done);
0 голосов
/ 01 февраля 2019

Если я правильно понимаю, вы можете использовать внутренний path модуль Node.js:

'use strict';

const path = require('path');

const fullPath = '/home/mysite/public_html/services/wp-content/uploads/woocommerce_uploads/wcj_uploads/input_fields_uploads/myfilename.docx';

const extension = path.extname(fullPath);
const justFileName = path.basename(fullPath, extension);
const fileNameWithExtension = path.basename(fullPath);

console.log(justFileName);
console.log(fileNameWithExtension);
myfilename
myfilename.docx
0 голосов
/ 01 февраля 2019

Вы можете сначала разделить на /, а затем снова разделить последний элемент на . и взять первый элемент.

let filePath = `/home/mysite/public_html/services/wp-content/uploads/woocommerce_uploads/wcj_uploads/input_fields_uploads/myfilename.docx`

let splited = filePath.split('/').pop().split('.')[0]

console.log(splited)
...