src/module/helper/helper.service.ts
Methods |
|
Static addFileName | ||||||||||||||||||||
addFileName(file_folder_path: string, file_name: string, default_ext: string)
|
||||||||||||||||||||
Defined in src/module/helper/helper.service.ts:19
|
||||||||||||||||||||
Fájlnevet generál a megadott fájlnév alapján a megadott mappához. Ha a fájlnév létezik a megadott mappában, akkor számmal bővül a neve. Ha nem létezik, akkor változatlanul marad. Fájlnév csak ASCII karaktereket fog tartalmazni, de szóközt nem.
Parameters :
Returns :
string | false
Ha üres sztring vagy nem létezik a mappa, vagy üres fájlnevet adunk meg, akkor FALSE, egyébként az új fájlnév |
Static formatDate | ||||||
formatDate(date)
|
||||||
Defined in src/module/helper/helper.service.ts:62
|
||||||
A paraméterként megadott dátumot adja vissza yyyy.mm.dd. formátumban
Parameters :
Returns :
string
|
import { Injectable } from '@nestjs/common';
import * as fs from 'fs';
import * as path from 'path';
@Injectable()
export class HelperService {
/**
* Fájlnevet generál a megadott fájlnév alapján a megadott mappához.
* Ha a fájlnév létezik a megadott mappában, akkor számmal bővül a neve. Ha nem létezik, akkor változatlanul marad.
* Fájlnév csak ASCII karaktereket fog tartalmazni, de szóközt nem.
*
* @param file_folder_path Mappa, ahova a fájlnevet hozzuk létre.
* @param file_name Fájl neve, amit vizsgálunk a megadott mappában.
* @param default_ext Fájl kiterjesztése, ha a fájlnévben nincs benne, pont megadása fontos (példa: .png, .img).
*
* @returns Ha üres sztring vagy nem létezik a mappa, vagy üres fájlnevet adunk meg, akkor FALSE, egyébként az új fájlnév
*/
static addFileName(file_folder_path: string, file_name: string, default_ext = ''){
if(file_folder_path == '' || file_name == '' || !fs.existsSync(file_folder_path) || !fs.statSync(file_folder_path).isDirectory()){
return false;
}
let extension = '';
let name = '';
extension = path.extname(file_name);
if(extension === ''){
name = file_name;
extension = default_ext;
}else{
name = file_name.substring(0, file_name.indexOf(extension));
}
name = removeNotASCIIChars(name.replace(/\s+/g, ''));
if(name == '') name = 'file';
let ok = false;
let i = 0;
let new_name = name + extension;
while(ok === false){
if(fs.existsSync(path.resolve(file_folder_path, new_name))){
new_name = `${name}_${i}${extension}`;
}else{
ok = true;
}
++i;
}
return new_name;
}
/**
* A paraméterként megadott dátumot adja vissza yyyy.mm.dd. formátumban
*
* @param date Formázandó dátum (dátumsztring vagy timestamp * 1000 (ms))
*/
static formatDate(date) {
const d = new Date(date);
let month = '' + (d.getMonth() + 1);
let day = '' + d.getDate();
let year = d.getFullYear();
if (month.length < 2){
month = '0' + month;
}
if (day.length < 2){
day = '0' + day;
}
return [year, month, day].join('.') + '.';
}
}
/**
*
* Nem ASCII karakterek eltávolítása a megadott sztringből.
*
* @param input Sztring, amiből a nem ASCII karaktereket eltávoltjuk.
*
* @return Átalakított szöveg.
*/
function removeNotASCIIChars(input) {
let output = "";
for (let i = 0; i < input.length; i++) {
if (input.charCodeAt(i) <= 127) {
output += input.charAt(i);
}
}
return output;
}