node js 압축 파일
포장 압축
fileCompression: (folderPath) ->
zip = new JSZip()
zipPath = pathM.join folderPath,'..',pathM.basename(folderPath)+'.zip'
flag = "root"
#
compressionZip= (node,filePath,isroot) =>
# windows linux
stats = fs.statSync(filePath)
# 1、 windows \ linux /
str1=node.replace(/\\/g,"/")
# 2、
strs=str1.split("/")
tmp = zip
if strs[0] is "."
isroot = true
# 3、 tmp
getLast = (filePath) =>
tmp = tmp.folder(filePath)
if strs isnt null and strs.length isnt 0
getLast fileItem for fileItem in strs
# 4、
if stats.isFile()
fileName = pathM.basename(filePath)
if isroot
zip.file(fileName,fs.readFileSync(filePath))
else
tmp.file(fileName,fs.readFileSync(filePath))
else
if flag is "root"
flag = "children"
folderZipPath = node
else
folderZipPath = pathM.join node,pathM.basename(filePath)
if isroot
zip.folder(pathM.basename(filePath))
else
tmp.folder(pathM.basename(filePath))
fileList = fs.readdirSync(filePath)
if fileList isnt null and fileList.length isnt 0
compressionZip folderZipPath,pathM.join(filePath,filePathItem),false for filePathItem in fileList
compressionZip ".",folderPath,true
# 5、 zip
content = zip.generate({type:"nodebuffer",compression:"DEFLATE"})
fs.writeFileSync(zipPath,content)
console.log " "
압축 해제 가방
UnCompressFile: (zipPath, success) ->
unzipPath = pathM.join zipPath,".."
cb = (err, data) =>
if err
throw err
object = new JSZip(data)
readAndwrite = (zipObject) ->
savePath = pathM.join unzipPath,zipObject.name
if zipObject.dir
if fs.existsSync(savePath)
console.log " , "
else
fs.mkdirSync(savePath)
else
tmp = savePath.substring(savePath.lastIndexOf('.'))
tmp = tmp.toUpperCase()
# zipObject.asNodeBuffer() zipObject.asText()
if tmp is '.PNG' or tmp is '.GIF' or tmp is '.JPG' or tmp is '.JPEG' or tmp is '.BMP'
fs.writeFileSync(pathM.join(unzipPath,"icon3.png"),zipObject.asNodeBuffer())
else
fs.writeFileSync(savePath,zipObject.asText())
readAndwrite zipObject for fileName , zipObject of object.files
if typeof success isnt "undefined"
success()
fs.readFile(zipPath,cb)
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.