123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947 |
- <template>
- <!-- #ifdef APP -->
- <text>显示简易操作日志(可滚动查看),详细日志需真机运行查看</text><button size="mini" @click="log=''">清空日志</button>
- <scroll-view style="max-height: 300px;">
- <text style="margin: 2px; padding: 2px; border: 1px solid #000000;">{{ log }}</text>
- </scroll-view>
- <scroll-view style="flex: 1;">
- <!-- #endif -->
- <!-- #ifdef MP -->
- <text style="margin: 2px; padding: 2px; border: 1px solid #000000;">{{ log }}</text>
- <!-- #endif -->
- <button class="btnstyle" type="primary" @tap="statFileInfoTest"
- id="btn-stat-file">递归获取目录files的Stats对象{{statFile}}</button>
- <button class="btnstyle" type="primary" @tap="mkdirTest" id="btn-mkdir">创建文件夹{{mkdirFile}}</button>
- <button class="btnstyle" type="primary" @tap="writeFileTest" id="btn-write-file">覆盖写入文件{{writeFile}}</button>
- <button class="btnstyle" type="primary" @tap="readDirTest" id="btn-read-dir">读取文件夹{{readDir}}</button>
- <button class="btnstyle" type="primary" @tap="readFileTest" id="btn-read-file">读取文件{{readFile}}</button>
- <button class="btnstyle" type="primary" @tap="copyFileTest"
- id="btn-copy-file">复制文件{{copyFromFile}}到{{copyToFile}}</button>
- <button class="btnstyle" type="primary" @tap="renameFileTest"
- id="btn-rename-file">重命名文件{{renameFromFile}}到{{renameToFile}}</button>
- <button class="btnstyle" type="primary" @tap="accessFileTest" id="btn-access-file">判断文件{{accessFile}}是否存在</button>
- <button class="btnstyle" type="primary" @tap="getFileInfoTest"
- id="btn-get-file-info">获取文件信息{{getFileInfoFile}}</button>
- <button class="btnstyle" type="primary" @tap="unlinkTest" id="btn-unlink-file">删除文件{{unlinkFile}}</button>
- <button class="btnstyle" type="primary" @tap="unlinkAllFileTest"
- id="btn-clear-file">删除文件夹{{rmDirFile}}下的所有文件</button>
- <button class="btnstyle" type="primary" @tap="rmdirTest" id="btn-remove-dir">删除文件夹{{rmDirFile}}</button>
- <button class="btnstyle" type="primary" @tap="statFileInfoSyncTest"
- id="btn-stat-file-sync">同步递归获取目录files的Stats对象{{statFile}}</button>
- <button class="btnstyle" type="primary" @tap="appendFileTest" id="btn-append-file">在文件{{readFile}}结尾追加内容</button>
- <button class="btnstyle" type="primary" @tap="appendFileSyncTest"
- id="btn-append-file-sync">同步在文件{{readFile}}结尾追加内容</button>
- <button class="btnstyle" type="primary" @tap="writeFileSyncTest"
- id="btn-write-file-sync">同步覆盖写入文件{{writeFile}}</button>
- <button class="btnstyle" type="primary" @tap="readFileSyncTest" id="btn-read-file-sync">同步读取文件{{readFile}}</button>
- <button class="btnstyle" type="primary" @tap="unlinkSyncTest"
- id="btn-unlink-file-sync">同步删除文件{{unlinkFile}}</button>
- <button class="btnstyle" type="primary" @tap="mkdirSyncTest" id="btn-mkdir-sync">同步创建文件夹{{mkdirFile}}</button>
- <button class="btnstyle" type="primary" @tap="rmdirSyncTest" id="btn-remove-dir-sync">同步删除文件夹{{rmDirFile}}</button>
- <button class="btnstyle" type="primary" @tap="readDirSyncTest" id="btn-read-dir-sync">同步读取文件夹{{readDir}}</button>
- <button class="btnstyle" type="primary" @tap="accessFileSyncTest"
- id="btn-access-file-sync">同步判断文件{{accessFile}}是否存在</button>
- <button class="btnstyle" type="primary" @tap="renameFileSync"
- id="btn-rename-file-sync">同步重命名文件{{renameFromFile}}到{{renameToFile}}</button>
- <button class="btnstyle" type="primary" @tap="copyFileSyncTest"
- id="btn-copy-file-sync">同步复制文件{{copyFromFile}}到{{copyToFile}}</button>
- <button class="btnstyle" type="primary" @tap="removeSavedFileTest" id="btn-remove-saved-file">删除已保存的本地文件</button>
- <button class="btnstyle" type="primary" @tap="getSavedFileListTest"
- id="btn-getsaved-filelist">获取该已保存的本地缓存文件列表</button>
- <button class="btnstyle" type="primary" @tap="truncateFileTest"
- id="btn-truncate-file">对文件{{writeFile}}内容进行截断操作</button>
- <button class="btnstyle" type="primary" @tap="openFileTest" id="btn-open-file">打开文件{{readFile}},返回描述符</button>
- <button class="btnstyle" type="primary" @tap="openFileSyncTest('r',true)"
- id="btn-open-file-sync">同步打开文件{{readFile}},返回描述符</button>
- <button class="btnstyle" type="primary" @tap="closeTest" id="btn-close-file">通过文件描述符关闭文件{{readFile}}</button>
- <button class="btnstyle" type="primary" @tap="closeSyncTest"
- id="btn-close-file-sync">通过文件描述符同步关闭文件{{readFile}}</button>
- <button class="btnstyle" type="primary" @tap="writeTest" id="btn-write">通过文件描述符写入文件{{readFile}}</button>
- <button class="btnstyle" type="primary" @tap="writeSyncTest" id="btn-write-sync">同步通过文件描述符写入文件{{readFile}}</button>
- <button class="btnstyle" type="primary" @tap="fstatTest" id="btn-fstat-file">通过文件描述符获取{{statFile}}的状态信息</button>
- <button class="btnstyle" type="primary" @tap="fstatSyncTest"
- id="btn-fstat-file-sync">同步通过文件描述符获取{{statFile}}的状态信息</button>
- <button class="btnstyle" type="primary" @tap="ftruncateFileTest"
- id="btn-ftruncate-file">通过文件描述符对文件{{writeFile}}内容进行截断</button>
- <button class="btnstyle" type="primary" @tap="ftruncateFileSyncTest"
- id="btn-ftruncate-file-sync">同步通过文件描述符对文件{{writeFile}}内容进行截断</button>
- <button class="btnstyle" type="primary" @tap="testWriteReadFileBuffer" id="btn-writereadfile-buffer">写入/读取
- ArrayBuffer</button>
- <button class="btnstyle" type="primary" @tap="testWriteReadBuffer" id="btn-writeread-buffer">通过文件描述符写入/读取
- ArrayBuffer</button>
- <button class="btnstyle" type="primary" @tap="testWriteReadSyncBuffer" id="btn-writereadsync-buffer">通过文件描述符同步写入/读取
- ArrayBuffer</button>
- <button class="btnstyle" type="primary" @tap="testAppendFileBuffer" id="btn-appendfile-buffer">在文件末尾追加
- ArrayBuffer</button>
- <button class="btnstyle" type="primary" @tap="testAppendFileBufferSync" id="btn-appendfilesync-buffer">同步在文件末尾追加
- ArrayBuffer</button>
- <!-- #ifdef APP -->
- <button class="btnstyle" type="primary" @tap="copyStaticToFilesTest"
- id="btn-copyStatic-file">从static目录复制文件到a目录</button>
- <button class="btnstyle" type="primary" @tap="saveFileTest" id="btn-save-file">保存临时文件到本地, filePath=null</button>
- <button class="btnstyle" type="primary" @tap="saveFileTest1" id="btn-save-file1">保存临时文件到本地,
- filePath=xxx/path.txt</button>
- <button class="btnstyle" type="primary" @tap="saveFileTest2" id="btn-save-file2">保存临时文件到本地,
- filePath=xxx/path</button>
- <button class="btnstyle" type="primary" @tap="saveFileTest3" id="btn-save-file3">保存临时文件到本地,
- filePath=xxx/path/</button>
- <button class="btnstyle" type="primary" @tap="saveFileSyncTest" id="btn-save-file-sync">同步保存临时文件到本地</button>
- <button class="btnstyle" type="primary" @tap="unzipFileTest" id="btn-unzip-file-sync">解压文件</button>
- <button class="btnstyle" type="primary" @tap="truncateFileSyncTest"
- id="btn-truncate-file-sync">同步对文件{{writeFile}}内容进行截断操作</button>
- <button class="btnstyle" type="primary" @tap="readCompressedFileTest"
- id="btn-compressed-file">读取指定压缩类型的本地文件内容</button>
- <button class="btnstyle" type="primary" @tap="readCompressedFileSyncTest"
- id="btn-compressed-file-sync">同步读取指定压缩类型的本地文件内容</button>
- <button class="btnstyle" type="primary" @tap="readZipEntry" id="btn-readzip-entry">读取压缩包内的文件</button>
- <button class="btnstyle" type="primary" @tap="testWriteReadFileSyncBuffer" id="btn-writereadfilesync-buffer">同步写入/读取
- ArrayBuffer</button>
- <button class="btnstyle" type="primary" @tap="testReadFileEncoding('base64')">readFile(content://base64)</button>
- <button class="btnstyle" type="primary" @tap="testReadFileEncoding('utf-8')">readFile(content://utf-8)</button>
- <button class="btnstyle" type="primary" @tap="testReadFileEncoding('ascii')">readFile(content://ascii)</button>
- <button class="btnstyle" type="primary" @tap="testReadFileArrayBuffer()">readFile(content://arraybuffer)</button>
- <button class="btnstyle" type="primary"
- @tap="testReadFileSyncEncoding('base64')">readFileSync(content://base64)</button>
- <button class="btnstyle" type="primary"
- @tap="testReadFileSyncEncoding('utf-8')">readFileSync(content://utf-8)</button>
- <button class="btnstyle" type="primary"
- @tap="testReadFileSyncEncoding('ascii')">readFileSync(content://ascii)</button>
- <button class="btnstyle" type="primary"
- @tap="testReadFileSyncArrayBuffer()">readFileSync(content://arraybuffer)</button>
- <button class="btnstyle" type="primary" @tap="copyFileByContent()">copyFile(content://)</button>
- <button class="btnstyle" type="primary" @tap="copyFileSyncByContent()">copyFileSync(content://)</button>
- <!-- #endif -->
- <button class="btnstyle" type="primary" @tap="gotoExplore()">前往沙盒文件管理器</button>
- <view style="height: 4px;"></view>
- <!-- #ifdef APP -->
- </scroll-view>
- <!-- #endif -->
- </template>
- <script>
- export default {
- data() {
- return {
- log: "",
- /**
- * 自动化测试需要关闭log
- */
- logAble: true,
- fileListSuccess: [] as string[],
- fileListComplete: [] as string[],
- accessFileRet: '',
- lastFailError: new UniError("uni-file-manager", 1300000, "mock error"),
- lastCompleteError: new UniError("uni-file-manager", 1300000, "mock error"),
- readDir: 'a',
- readFileRet: "",
- writeFileContent: "中文 en.\r\n\t换行",
- appendFileContent: "append content",
- getFileInfoAlgorithm: "md5",
- getFileInfoSize: -1,
- getFileInfoDigest: "",
- unlinkFile: 'a/1.txt',
- accessFile: 'a/1.txt',
- writeFile: 'a/1.txt',
- writeData: 'insert data哈哈哈',
- brFile: 'a/1.txt.br',
- temFile: 'a/1.txt',
- copyFromFile: 'a/1.txt',
- copyToFile: 'a/2.txt',
- renameFromFile: 'a/2.txt',
- renameToFile: 'a/3.txt',
- getFileInfoFile: 'a/1.txt',
- statFile: '',
- rmDirFile: 'a',
- mkdirFile: 'a',
- readFile: 'a/1.txt',
- recursiveVal: true,
- done: false,
- writeFileEncoding: "utf-8",
- readFileEncoding: "utf-8",
- statsRet: [] as Array<FileStats>,
- unzipFile: 'zip/1.zip',
- targetZip: "unzip",
- renameFileRet: '',
- saveFileRet: '',
- removeSavedFileRet: '',
- fd: '',
- closeFileRet: '',
- bytesWritten: 0,
- fstat: null as Stats | null,
- fstatSize: 0,
- ftruncateRet: '',
- readZipFile: 'to.zip',
- getSavedFileListRet: '',
- arrayBufferRes: 0,
- /**
- * 待测试的全局环境变量
- */
- // #ifdef MP
- basePath: uni.env.USER_DATA_PATH + '/',
- copyToBasePath: uni.env.USER_DATA_PATH + '/',
- globalTempPath: uni.env.CACHE_PATH,
- globalRootPath: uni.env.SANDBOX_PATH,
- globalUserDataPath: uni.env.USER_DATA_PATH + '/',
- // #endif
- // #ifndef MP
- basePath: uni.env.USER_DATA_PATH,
- copyToBasePath: uni.env.USER_DATA_PATH,
- globalTempPath: uni.env.CACHE_PATH,
- globalRootPath: uni.env.SANDBOX_PATH,
- globalUserDataPath: uni.env.USER_DATA_PATH,
- // #endif
- }
- },
- onLoad() {
- },
- methods: {
- statFileInfoTest: function (_ : any) {
- const fileManager = uni.getFileSystemManager()
- fileManager.stat({
- path: `${this.basePath}${this.statFile}`, //USER_DATA_PATH
- // path: `${this.globalTempPath}${this.statFile}`, //CACHE_PATH
- recursive: this.recursiveVal,
- success: (res : StatSuccessResult) => {
- if (this.logAble) {
- this.log += 'statFileInfoTest success:' + JSON.stringify(res) + '\n\n'
- }
- console.log('statFileInfoTest success', res)
- this.statsRet = res.stats
- console.log('this.statsRet', this.statsRet)
- },
- fail: (res : IUniError) => {
- if (this.logAble) {
- this.log += 'statFileInfoTest fail:' + JSON.stringify(res) + '\n\n'
- }
- console.log('statFileInfoTest fail', res)
- this.lastFailError = new UniError(res.errSubject, res.errCode, res.errMsg)
- },
- complete: (res : any) => {
- console.log("statFileInfoTest complete", res)
- this.done = true
- if (res instanceof UniError) {
- this.lastCompleteError = res
- }
- }
- } as StatOptions)
- },
- getFileInfoTest: function () {
- const fileManager = uni.getFileSystemManager()
- fileManager.getFileInfo({
- filePath: `${this.basePath}${this.getFileInfoFile}`,
- digestAlgorithm: this.getFileInfoAlgorithm,
- success: (res : GetFileInfoSuccessResult) => {
- if (this.logAble) {
- this.log += 'getFileInfoTest success:' + JSON.stringify(res) + '\n\n'
- }
- console.log('success', res)
- this.getFileInfoSize = res.size
- this.getFileInfoDigest = res.digest
- },
- fail: (res : IUniError) => {
- if (this.logAble) {
- this.log += 'getFileInfoTest fail:' + JSON.stringify(res) + '\n\n'
- }
- console.log('fail', res)
- this.lastFailError = new UniError(res.errSubject, res.errCode, res.errMsg)
- },
- complete: (res : any) => {
- console.log("complete", res)
- this.done = true
- if (res instanceof UniError) {
- this.lastCompleteError = res
- }
- }
- } as GetFileInfoOptions)
- },
- copyFileTest: function () {
- const fileManager = uni.getFileSystemManager()
- fileManager.copyFile({
- srcPath: `${this.basePath}${this.copyFromFile}`,
- destPath: `${this.copyToBasePath}${this.copyToFile}`,
- success: (res : FileManagerSuccessResult) => {
- if (this.logAble) {
- this.log += 'copyFileTest success:' + JSON.stringify(res) + '\n\n'
- }
- console.log('success', res)
- },
- fail: (res : IUniError) => {
- if (this.logAble) {
- this.log += 'copyFileTest fail:' + JSON.stringify(res) + '\n\n'
- }
- console.log('fail', res)
- this.lastFailError = new UniError(res.errSubject, res.errCode, res.errMsg)
- },
- complete: (res : any) => {
- console.log("complete", res)
- this.done = true
- if (res instanceof UniError) {
- this.lastCompleteError = res
- }
- }
- } as CopyFileOptions)
- },
- renameFileTest: function () {
- const fileManager = uni.getFileSystemManager()
- fileManager.rename({
- oldPath: `${this.basePath}${this.renameFromFile}`,
- newPath: `${this.basePath}${this.renameToFile}`,
- success: (res) => {
- if (this.logAble) {
- this.log += 'renameFileTest success:' + JSON.stringify(res) + '\n\n'
- }
- this.renameFileRet = "rename:ok"
- console.log('success', res)
- },
- fail: (res : IUniError) => {
- if (this.logAble) {
- this.log += 'renameFileTest fail:' + JSON.stringify(res) + '\n\n'
- }
- console.log('fail', res)
- this.lastFailError = new UniError(res.errSubject, res.errCode, res.errMsg)
- },
- complete: (res : any) => {
- this.done = true
- console.log("complete", res)
- if (res instanceof UniError) {
- this.lastCompleteError = res
- }
- }
- } as RenameOptions)
- },
- readDirTest: function () {
- const fileManager = uni.getFileSystemManager()
- fileManager.readdir({
- dirPath: `${this.basePath}${this.readDir}`,
- success: (res : ReadDirSuccessResult) => {
- if (this.logAble) {
- this.log += 'readDirTest success:' + JSON.stringify(res) + '\n\n'
- }
- console.log("success", res)
- this.fileListSuccess = res.files
- },
- fail: (res : IUniError) => {
- if (this.logAble) {
- this.log += 'readDirTest fail:' + JSON.stringify(res) + '\n\n'
- }
- console.log('fail', res)
- this.lastFailError = new UniError(res.errSubject, res.errCode, res.errMsg)
- },
- complete: (res : any) => {
- console.log("complete", res)
- this.done = true
- if (res instanceof UniError) {
- this.lastCompleteError = res
- } else {
- this.fileListComplete = (res as ReadDirSuccessResult).files
- }
- }
- } as ReadDirOptions)
- },
- writeFileTest: function (_ : any) {
- const fileManager = uni.getFileSystemManager()
- fileManager.writeFile({
- filePath: `${this.basePath}${this.writeFile}`,
- data: this.writeFileContent,
- encoding: this.writeFileEncoding,
- success: (res) => {
- if (this.logAble) {
- this.log += 'writeFileTest success:' + JSON.stringify(res) + '\n\n'
- }
- console.log('success', res)
- },
- fail: (res : IUniError) => {
- if (this.logAble) {
- this.log += 'writeFileTest fail:' + JSON.stringify(res) + '\n\n'
- }
- console.log('fail')
- this.lastFailError = new UniError(res.errSubject, res.errCode, res.errMsg)
- },
- complete: (res : any) => {
- this.done = true
- console.log("complete")
- if (res instanceof UniError) {
- this.lastCompleteError = res
- }
- }
- } as WriteFileOptions)
- },
- readFileTest: function () {
- const fileManager = uni.getFileSystemManager()
- fileManager.readFile({
- filePath: `${this.basePath}${this.readFile}`,
- encoding: this.readFileEncoding,
- success: (res : ReadFileSuccessResult) => {
- if (this.logAble) {
- this.log += 'readFileTest success:' + JSON.stringify(res) + '\n\n'
- }
- console.log('success', res)
- this.readFileRet = res.data.toString()
- },
- fail: (res : IUniError) => {
- if (this.logAble) {
- this.log += 'readFileTest fail:' + JSON.stringify(res) + '\n\n'
- }
- console.log('fail', res)
- this.lastFailError = new UniError(res.errSubject, res.errCode, res.errMsg)
- },
- complete: (res : any) => {
- console.log("complete", res)
- this.done = true
- if (res instanceof UniError) {
- this.lastCompleteError = res
- }
- }
- } as ReadFileOptions)
- },
- rmdirTest: function () {
- const fileManager = uni.getFileSystemManager()
- fileManager.rmdir({
- dirPath: `${this.basePath}${this.rmDirFile}`,
- recursive: this.recursiveVal,
- success: (res : FileManagerSuccessResult) => {
- if (this.logAble) {
- this.log += 'rmdirTest success:' + JSON.stringify(res) + '\n\n'
- }
- console.log('success', res)
- },
- fail: (res : IUniError) => {
- if (this.logAble) {
- this.log += 'rmdirTest fail:' + JSON.stringify(res) + '\n\n'
- }
- console.log('fail', res)
- this.lastFailError = new UniError(res.errSubject, res.errCode, res.errMsg)
- },
- complete: (res : any) => {
- console.log("complete", res)
- this.done = true
- if (res instanceof UniError) {
- this.lastCompleteError = res
- }
- }
- } as RmDirOptions)
- },
- mkdirTest: function () {
- // 准备测试数据
- const fileManager = uni.getFileSystemManager()
- fileManager.mkdir({
- dirPath: `${this.basePath}${this.mkdirFile}`,
- recursive: this.recursiveVal,
- success: (res : FileManagerSuccessResult) => {
- if (this.logAble) {
- this.log += 'mkdirTest success:' + JSON.stringify(res) + '\n\n'
- }
- console.log('success', res)
- },
- fail: (res : IUniError) => {
- if (this.logAble) {
- this.log += 'mkdirTest fail:' + JSON.stringify(res) + '\n\n'
- }
- console.log('fail', res)
- this.lastFailError = new UniError(res.errSubject, res.errCode, res.errMsg)
- },
- complete: (res : any) => {
- if (res instanceof UniError) {
- this.lastCompleteError = res
- }
- this.done = true
- console.log("complete", res)
- }
- } as MkDirOptions)
- },
- accessFileTest: function () {
- this.accessFileRet = ''
- const fileManager = uni.getFileSystemManager()
- fileManager.access({
- path: `${this.basePath}${this.accessFile}`,
- success: (res : FileManagerSuccessResult) => {
- if (this.logAble) {
- this.log += 'accessFileTest success:' + JSON.stringify(res) + '\n\n'
- }
- console.log('success', res)
- this.accessFileRet = res.errMsg
- },
- fail: (res : IUniError) => {
- if (this.logAble) {
- this.log += 'accessFileTest fail:' + JSON.stringify(res) + '\n\n'
- }
- console.log('fail', res)
- this.lastFailError = new UniError(res.errSubject, res.errCode, res.errMsg)
- },
- complete: (res : any) => {
- if (res instanceof UniError) {
- this.lastCompleteError = res
- }
- console.log("complete", res)
- this.done = true
- }
- } as AccessOptions)
- },
- unlinkTest: function () {
- const fileManager = uni.getFileSystemManager()
- fileManager.unlink({
- filePath: `${this.basePath}${this.unlinkFile}`,
- success: (res : FileManagerSuccessResult) => {
- if (this.logAble) {
- this.log += 'unlinkTest success:' + JSON.stringify(res) + '\n\n'
- }
- console.log('success', res)
- },
- fail: (res : IUniError) => {
- if (this.logAble) {
- this.log += 'unlinkTest fail:' + JSON.stringify(res) + '\n\n'
- }
- console.log('fail', res)
- this.lastFailError = new UniError(res.errSubject, res.errCode, res.errMsg)
- },
- complete: (res : any) => {
- if (res instanceof UniError) {
- this.lastCompleteError = res
- }
- console.log("complete", res)
- this.done = true
- }
- } as UnLinkOptions)
- },
- unlinkAllFileTest: function () {
- const fileManager = uni.getFileSystemManager()
- fileManager.readdir({
- dirPath: `${this.basePath}${this.rmDirFile}`,
- success: (res : ReadDirSuccessResult) => {
- console.log("success to readdir", res)
- res.files.forEach(element => {
- console.log(element)
- let filePath : string
- if (this.rmDirFile.length <= 0) {
- filePath = `${this.basePath}${element}`
- } else {
- filePath = `${this.basePath}${this.rmDirFile}/${element}`
- }
- fileManager.unlink({
- filePath: filePath,
- success: (res : FileManagerSuccessResult) => {
- if (this.logAble) {
- this.log += 'unlinkAllFileTest success:' + JSON.stringify(res) + '\n\n'
- }
- console.log('success unlink', res)
- },
- fail: (res : IUniError) => {
- if (this.logAble) {
- this.log += 'unlinkAllFileTest fail:' + JSON.stringify(res) + '\n\n'
- }
- console.log('fail unlink', res)
- this.lastFailError = new UniError(res.errSubject, res.errCode, res.errMsg)
- },
- complete: (res : any) => {
- if (res instanceof UniError) {
- this.lastCompleteError = res
- }
- console.log("complete unlink", res)
- this.done = true
- }
- } as UnLinkOptions)
- });
- },
- fail: (res : IUniError) => {
- if (this.logAble) {
- this.log += 'unlinkAllFileTest fail:' + JSON.stringify(res) + '\n\n'
- }
- console.log('fail to readdir', res)
- this.lastFailError = new UniError(res.errSubject, res.errCode, res.errMsg)
- },
- complete: (res : any) => {
- console.log("complete readdir", res)
- this.done = true
- if (res instanceof UniError) {
- this.lastCompleteError = res
- } else {
- this.fileListComplete = (res as ReadDirSuccessResult).files
- }
- }
- } as ReadDirOptions)
- },
- copyStaticToFilesTest: function () {
- const fileManager = uni.getFileSystemManager()
- fileManager.copyFile({
- srcPath: "/static/list-mock/mock.json",
- destPath: `${this.copyToBasePath}/a/mock.json`,
- success: (res : FileManagerSuccessResult) => {
- if (this.logAble) {
- this.log += 'copyFileTest success:' + JSON.stringify(res) + '\n\n'
- }
- console.log('success', res)
- },
- fail: (res : IUniError) => {
- if (this.logAble) {
- this.log += 'copyFileTest fail:' + JSON.stringify(res) + '\n\n'
- }
- console.log('fail', res)
- this.lastFailError = new UniError(res.errSubject, res.errCode, res.errMsg)
- },
- complete: (res : any) => {
- console.log("complete", res)
- this.done = true
- if (res instanceof UniError) {
- this.lastCompleteError = res
- }
- }
- } as CopyFileOptions)
- },
- //start
- appendFileTest: function (_ : any) {
- const fileManager = uni.getFileSystemManager()
- fileManager.appendFile({
- filePath: `${this.basePath}${this.writeFile}`,
- data: this.appendFileContent,
- encoding: this.writeFileEncoding,
- success: (res : FileManagerSuccessResult) => {
- if (this.logAble) {
- this.log += 'appendFileTest success:' + JSON.stringify(res) + '\n\n'
- }
- console.log('success', res)
- },
- fail: (res : IUniError) => {
- if (this.logAble) {
- this.log += 'appendFileTest fail:' + JSON.stringify(res) + '\n\n'
- }
- console.log('fail')
- this.lastFailError = new UniError(res.errSubject, res.errCode, res.errMsg)
- },
- complete: (res : any) => {
- this.done = true
- console.log("complete")
- if (res instanceof UniError) {
- this.lastCompleteError = res
- }
- }
- } as AppendFileOptions)
- },
- writeFileSyncTest: function (_ : any) {
- try {
- const fileManager = uni.getFileSystemManager()
- fileManager.writeFileSync(`${this.basePath}${this.writeFile}`, this.writeFileContent, this.writeFileEncoding)
- if (this.logAble) {
- this.log += 'writeFileSyncTest success:' + '\n\n'
- }
- this.done = true
- } catch (e) {
- if (this.logAble) {
- this.log += 'writeFileSyncTest fail:' + e + '\n\n'
- }
- this.done = true
- }
- },
- readFileSyncTest: function () {
- try {
- const fileManager = uni.getFileSystemManager()
- let data = fileManager.readFileSync(
- `${this.basePath}${this.readFile}`,
- this.readFileEncoding)
- if (this.logAble) {
- this.log += 'readFileSyncTest result:' + data + '\n\n'
- }
- this.done = true
- this.readFileRet = data.toString()
- } catch (e) {
- if (this.logAble) {
- this.log += 'readFileSyncTest fail:' + e + '\n\n'
- }
- this.done = true
- }
- },
- unlinkSyncTest: function () {
- try {
- const fileManager = uni.getFileSystemManager()
- fileManager.unlinkSync(
- `${this.basePath}${this.unlinkFile}`)
- this.done = true
- } catch (e) {
- if (this.logAble) {
- this.log += 'unlinkSyncTest fail:' + e + '\n\n'
- }
- this.done = true
- }
- },
- mkdirSyncTest: function () {
- // 准备测试数据
- try {
- const fileManager = uni.getFileSystemManager()
- fileManager.mkdirSync(`${this.basePath}${this.mkdirFile}`, this.recursiveVal)
- this.done = true
- } catch (e) {
- this.done = true
- if (this.logAble) {
- this.log += 'mkdirSyncTest fail:' + e + '\n\n'
- }
- }
- },
- rmdirSyncTest: function () {
- try {
- const fileManager = uni.getFileSystemManager()
- fileManager.rmdirSync(
- `${this.basePath}${this.rmDirFile}`,
- this.recursiveVal)
- this.done = true
- } catch (e) {
- if (this.logAble) {
- this.log += 'rmdirSyncTest fail:' + e + '\n\n'
- }
- this.done = true
- }
- },
- readDirSyncTest: function () {
- try {
- const fileManager = uni.getFileSystemManager()
- let res = fileManager.readdirSync(
- `${this.basePath}${this.readDir}`)
- if (this.logAble) {
- this.log += 'readDirTest success:' + JSON.stringify(res) + '\n\n'
- }
- if (res != null) {
- this.fileListSuccess = res
- }
- this.done = true
- } catch (e) {
- if (this.logAble) {
- this.log += 'rmdirSyncTest fail:' + e + '\n\n'
- }
- this.done = true
- }
- },
- accessFileSyncTest: function () {
- this.accessFileRet = ''
- const fileManager = uni.getFileSystemManager()
- try {
- fileManager.accessSync(`${this.basePath}${this.accessFile}`)
- this.done = true
- this.accessFileRet = 'access:ok'
- } catch (e) {
- if (this.logAble) {
- this.log += 'rmdirSyncTest fail:' + e + '\n\n'
- }
- this.done = true
- }
- },
- renameFileSync: function () {
- const fileManager = uni.getFileSystemManager()
- try {
- fileManager.renameSync(`${this.basePath}${this.renameFromFile}`,
- `${this.basePath}${this.renameToFile}`)
- this.done = true
- this.renameFileRet = "rename:ok"
- } catch (e) {
- if (this.logAble) {
- this.log += 'rmdirSyncTest fail:' + e + '\n\n'
- }
- console.log('renameSync:' + e)
- this.done = true
- }
- },
- copyFileSyncTest: function () {
- const fileManager = uni.getFileSystemManager()
- try {
- fileManager.copyFileSync(
- `${this.basePath}${this.copyFromFile}`,
- `${this.copyToBasePath}${this.copyToFile}`)
- this.done = true
- } catch (e) {
- if (this.logAble) {
- this.log += 'rmdirSyncTest fail:' + e + '\n\n'
- }
- this.done = true
- }
- },
- appendFileSyncTest: function (_ : any) {
- const fileManager = uni.getFileSystemManager()
- try {
- fileManager.appendFileSync(
- `${this.basePath}${this.writeFile}`,
- this.appendFileContent,
- this.writeFileEncoding)
- this.done = true
- } catch (e) {
- if (this.logAble) {
- this.log += 'rmdirSyncTest fail:' + e + '\n\n'
- }
- this.done = true
- }
- },
- saveFileTest: function (_ : any) {
- const fileManager = uni.getFileSystemManager()
- this.writeFileSyncTest("")
- fileManager.saveFile({
- tempFilePath: `${this.basePath}${this.temFile}`,
- success: (res : SaveFileSuccessResult) => {
- if (this.logAble) {
- this.log += 'saveFileTest success:' + JSON.stringify(res) + '\n\n'
- }
- console.log('success', res)
- this.saveFileRet = res.savedFilePath
- this.done = true
- },
- fail: (res : IUniError) => {
- if (this.logAble) {
- this.log += 'saveFileTest fail:' + JSON.stringify(res) + '\n\n'
- }
- console.log('saveFileTest fail', res)
- this.lastFailError = new UniError(res.errSubject, res.errCode, res.errMsg)
- this.done = true
- },
- complete: (_) => {
- this.done = true
- }
- } as SaveFileOptions)
- },
- saveFileTest1: function (_ : any) {
- const fileManager = uni.getFileSystemManager()
- this.writeFileSyncTest("")
- fileManager.access({
- path: `${this.basePath}local`,
- success: () => {
- if (fileManager.fstatSync({ fd: fileManager.openSync({ filePath: `${this.basePath}local`, flag: "r" }) }).isDirectory()) {
- fileManager.rmdirSync(`${this.basePath}local`, true)
- } else {
- fileManager.unlinkSync(`${this.basePath}local`)
- }
- fileManager.saveFile({
- tempFilePath: `${this.basePath}${this.temFile}`,
- filePath: `${this.basePath}local/1.txt`,
- success: (res : SaveFileSuccessResult) => {
- if (this.logAble) {
- this.log += 'saveFileTest success:' + JSON.stringify(res) + '\n\n'
- }
- console.log('success', res)
- this.saveFileRet = res.savedFilePath
- this.done = true
- },
- fail: (res : IUniError) => {
- if (this.logAble) {
- this.log += 'saveFileTest fail:' + JSON.stringify(res) + '\n\n'
- }
- console.log('saveFileTest fail', res)
- this.lastFailError = new UniError(res.errSubject, res.errCode, res.errMsg)
- this.done = true
- },
- complete: (_) => {
- this.done = true
- }
- } as SaveFileOptions)
- },
- fail: () => {
- fileManager.saveFile({
- tempFilePath: `${this.basePath}${this.temFile}`,
- filePath: `${this.basePath}local/1.txt`,
- success: (res : SaveFileSuccessResult) => {
- if (this.logAble) {
- this.log += 'saveFileTest success:' + JSON.stringify(res) + '\n\n'
- }
- console.log('success', res)
- this.saveFileRet = res.savedFilePath
- this.done = true
- },
- fail: (res : IUniError) => {
- if (this.logAble) {
- this.log += 'saveFileTest fail:' + JSON.stringify(res) + '\n\n'
- }
- console.log('saveFileTest fail', res)
- this.lastFailError = new UniError(res.errSubject, res.errCode, res.errMsg)
- this.done = true
- },
- complete: (_) => {
- this.done = true
- }
- } as SaveFileOptions)
- }
- })
- },
- saveFileTest2: function (_ : any) {
- const fileManager = uni.getFileSystemManager()
- this.writeFileSyncTest("")
- fileManager.access({
- path: `${this.basePath}local`,
- success: () => {
- if (fileManager.fstatSync({ fd: fileManager.openSync({ filePath: `${this.basePath}local`, flag: "r" }) }).isDirectory()) {
- fileManager.rmdirSync(`${this.basePath}local`, true)
- } else {
- fileManager.unlinkSync(`${this.basePath}local`)
- }
- fileManager.saveFile({
- tempFilePath: `${this.basePath}${this.temFile}`,
- filePath: `${this.basePath}local`,
- success: (res : SaveFileSuccessResult) => {
- if (this.logAble) {
- this.log += 'saveFileTest success:' + JSON.stringify(res) + '\n\n'
- }
- console.log('success', res)
- this.saveFileRet = res.savedFilePath
- this.done = true
- },
- fail: (res : IUniError) => {
- if (this.logAble) {
- this.log += 'saveFileTest fail:' + JSON.stringify(res) + '\n\n'
- }
- console.log('saveFileTest fail', res)
- this.lastFailError = new UniError(res.errSubject, res.errCode, res.errMsg)
- this.done = true
- },
- complete: (_) => {
- this.done = true
- }
- } as SaveFileOptions)
- }
- })
- },
- saveFileTest3: function (_ : any) {
- const fileManager = uni.getFileSystemManager()
- this.writeFileSyncTest("")
- fileManager.access({
- path: `${this.basePath}local`,
- success: () => {
- if (fileManager.fstatSync({ fd: fileManager.openSync({ filePath: `${this.basePath}local`, flag: "r" }) }).isDirectory()) {
- fileManager.rmdirSync(`${this.basePath}local`, true)
- } else {
- fileManager.unlinkSync(`${this.basePath}local`)
- }
- fileManager.saveFile({
- tempFilePath: `${this.basePath}${this.temFile}`,
- filePath: `${this.basePath}local/`,
- success: (res : SaveFileSuccessResult) => {
- if (this.logAble) {
- this.log += 'saveFileTest success:' + JSON.stringify(res) + '\n\n'
- }
- console.log('success', res)
- this.saveFileRet = res.savedFilePath
- this.done = true
- },
- fail: (res : IUniError) => {
- if (this.logAble) {
- this.log += 'saveFileTest fail:' + JSON.stringify(res) + '\n\n'
- }
- console.log('saveFileTest fail', res)
- this.lastFailError = new UniError(res.errSubject, res.errCode, res.errMsg)
- this.done = true
- },
- complete: (_) => {
- this.done = true
- }
- } as SaveFileOptions)
- }
- })
- },
- saveFileSyncTest: function (_ : any) {
- const fileManager = uni.getFileSystemManager()
- this.writeFileSyncTest("")
- try {
- fileManager.saveFileSync(
- `${this.basePath}${this.temFile}`, null)
- this.done = true
- //todo 后面打开
- // this.saveFileRet=res
- } catch (e) {
- console.log('saveFileSyncTest:' + e)
- this.done = true
- }
- },
- unzipFileTest: function (_ : any) {
- const fileManager = uni.getFileSystemManager()
- try {
- fileManager.mkdirSync(`${this.basePath}${this.targetZip}`, true)
- } catch (e) {
- console.error(e)
- }
- fileManager.unzip({
- zipFilePath: '/static/filemanager/to.zip',
- targetPath: `${this.basePath}${this.targetZip}`,
- success: (res : FileManagerSuccessResult) => {
- if (this.logAble) {
- this.log += 'unzipFileTest success:' + JSON.stringify(res) + '\n\n'
- }
- console.log('success', res)
- },
- fail: (res : IUniError) => {
- if (this.logAble) {
- this.log += 'unzipFileTest fail:' + JSON.stringify(res) + '\n\n'
- }
- console.log('fail', res)
- this.lastFailError = new UniError(res.errSubject, res.errCode, res.errMsg)
- },
- complete: (_) => {
- this.done = true
- }
- } as UnzipFileOptions)
- },
- getSavedFileListTest: function () {
- const fileManager = uni.getFileSystemManager()
- fileManager.getSavedFileList({
- success: (res : GetSavedFileListResult) => {
- if (this.logAble) {
- this.log += 'getSavedFileListTest success:' + JSON.stringify(res) + '\n\n'
- }
- console.log("getSavedFileListTest success", res)
- this.fileListSuccess = res.fileList
- this.getSavedFileListRet = "getSavedFileList:ok"
- },
- fail: (res : IUniError) => {
- if (this.logAble) {
- this.log += 'getSavedFileListTest fail:' + JSON.stringify(res) + '\n\n'
- }
- console.log('getSavedFileListTest fail', res)
- this.lastFailError = new UniError(res.errSubject, res.errCode, res.errMsg)
- this.getSavedFileListRet = JSON.stringify(res)
- },
- complete: (res : any) => {
- console.log("complete", res)
- this.done = true
- if (res instanceof UniError) {
- this.lastCompleteError = res
- } else {
- this.fileListComplete = (res as GetSavedFileListResult).fileList
- }
- }
- } as GetSavedFileListOptions)
- },
- truncateFileTest() {
- const fileManager = uni.getFileSystemManager()
- fileManager.truncate({
- filePath: `${this.basePath}${this.writeFile}`,
- length: 6,
- success: (res : FileManagerSuccessResult) => {
- if (this.logAble) {
- this.log += 'truncateFileTest success:' + JSON.stringify(res) + '\n\n'
- }
- console.log("success", res)
- },
- fail: (res : IUniError) => {
- if (this.logAble) {
- this.log += 'truncateFileTest fail:' + JSON.stringify(res) + '\n\n'
- }
- console.log('fail', res)
- this.lastFailError = new UniError(res.errSubject, res.errCode, res.errMsg)
- },
- complete: (res : any) => {
- console.log("complete", res)
- this.done = true
- if (res instanceof UniError) {
- this.lastCompleteError = res
- }
- }
- } as TruncateFileOptions)
- },
- truncateFileSyncTest() {
- const fileManager = uni.getFileSystemManager()
- try {
- fileManager.truncateSync(
- `${this.basePath}${this.writeFile}`,
- 3)
- this.done = true
- } catch (e) {
- console.log(e)
- this.done = true
- }
- },
- readCompressedFileTest() {
- const fileManager = uni.getFileSystemManager()
- fileManager.readCompressedFile({
- filePath: '/static/filemanager/1.txt.br',
- compressionAlgorithm: "br",
- success: (res : ReadCompressedFileResult) => {
- if (this.logAble) {
- this.log += 'readCompressedFileTest success:' + JSON.stringify(res) + '\n\n'
- }
- console.log("success", res)
- },
- fail: (res : IUniError) => {
- if (this.logAble) {
- this.log += 'readCompressedFileTest fail:' + JSON.stringify(res) + '\n\n'
- }
- console.log('fail', res)
- this.lastFailError = new UniError(res.errSubject, res.errCode, res.errMsg)
- },
- complete: (_) => {
- this.done = true
- }
- } as ReadCompressedFileOptions)
- },
- readCompressedFileSyncTest() {
- console.log('readCompressedFileSyncTest')
- const fileManager = uni.getFileSystemManager()
- try {
- let data = fileManager.readCompressedFileSync(
- '/static/filemanager/1.txt.br',
- "br")
- if (this.logAble) {
- this.log += data
- }
- this.done = true
- } catch (e) {
- if (this.logAble) {
- this.log += 'readCompressedFileSyncTest fail:' + e + '\n\n'
- }
- this.done = true
- }
- },
- removeSavedFileTest() {
- console.log("removeSavedFileTest enter")
- const fileManager = uni.getFileSystemManager()
- fileManager.removeSavedFile({
- filePath: `${this.basePath}${this.writeFile}`,
- success: (res : FileManagerSuccessResult) => {
- if (this.logAble) {
- this.log += 'removeSavedFileTest success:' + JSON.stringify(res) + '\n\n'
- }
- this.removeSavedFileRet = res.errMsg
- console.log("removeSavedFileTest success", res)
- },
- fail: (res : IUniError) => {
- if (this.logAble) {
- this.log += 'removeSavedFileTest fail:' + JSON.stringify(res) + '\n\n'
- }
- console.log('removeSavedFileTest fail', res)
- },
- complete: (_) => {
- this.done = true
- }
- } as RemoveSavedFileOptions)
- },
- statFileInfoSyncTest: function (_ : any) {
- const fileManager = uni.getFileSystemManager()
- try {
- let res = fileManager.statSync(
- // path: `${this.basePath}${this.statFile}`, //USER_DATA_PATH
- `${this.globalTempPath}${this.statFile}`, //CACHE_PATH
- this.recursiveVal)
- if (this.logAble) {
- this.log += 'statFileInfoSyncTest success:' + JSON.stringify(res) + '\n\n'
- }
- this.statsRet = res
- this.done = true
- } catch (e) {
- if (this.logAble) {
- this.log += 'statFileInfoSyncTest fail:' + e + '\n\n'
- }
- this.done = true
- }
- },
- openFileTest() {
- const fileManager = uni.getFileSystemManager()
- fileManager.open({
- filePath: `${this.basePath}${this.readFile}`,
- flag: "a",
- success: (res : OpenFileSuccessResult) => {
- if (this.logAble) {
- this.log += 'openFileTest success:' + JSON.stringify(res) + '\n\n'
- }
- console.log("success", res)
- this.fd = res.fd
- },
- fail: (res : IUniError) => {
- if (this.logAble) {
- this.log += 'openFileTest fail:' + JSON.stringify(res) + '\n\n'
- }
- console.log('fail', res)
- this.lastFailError = new UniError(res.errSubject, res.errCode, res.errMsg)
- },
- complete: (_) => {
- this.done = true
- }
- } as OpenFileOptions)
- },
- openFileSyncTest(param : string, isTest : boolean) : string {
- const fileManager = uni.getFileSystemManager()
- try {
- let fd = fileManager.openSync({
- filePath: `${this.basePath}${this.readFile}`,
- flag: param,
- } as OpenFileSyncOptions)
- if (this.logAble && isTest) {
- this.log += 'openFileSyncTest success:' + fd + '\n\n'
- }
- if (isTest) {
- this.done = true
- }
- this.fd = fd
- return fd
- } catch (e) {
- if (this.logAble) {
- this.log += 'openFileSyncTest fail:' + JSON.stringify(e) + '\n\n'
- }
- console.log('fail', e)
- this.done = true
- }
- return ""
- },
- closeSyncTest() {
- console.log('closeSyncTest')
- const fileManager = uni.getFileSystemManager()
- try {
- console.log('closeSync')
- fileManager.closeSync({
- fd: this.openFileSyncTest('r', false)
- } as CloseSyncOptions)
- if (this.logAble) {
- this.log += 'closeSyncTest success:' + '\n\n'
- }
- this.done = true
- this.closeFileRet = "close:ok"
- } catch (e) {
- if (this.logAble) {
- this.log += 'closeSyncTest fail:' + JSON.stringify(e) + '\n\n'
- }
- console.log('fail', e)
- this.done = true
- }
- },
- closeTest() {
- const fileManager = uni.getFileSystemManager()
- fileManager.close({
- fd: this.openFileSyncTest('r', false),
- success: (res : FileManagerSuccessResult) => {
- if (this.logAble) {
- this.log += 'closeTest success:' + JSON.stringify(res) + '\n\n'
- }
- this.closeFileRet = res.errMsg
- console.log("success", res)
- },
- fail: (res : IUniError) => {
- if (this.logAble) {
- this.log += 'closeTest fail:' + JSON.stringify(res) + '\n\n'
- }
- console.log('fail', res)
- this.lastFailError = new UniError(res.errSubject, res.errCode, res.errMsg)
- },
- complete: (_) => {
- this.done = true
- }
- } as CloseOptions)
- },
- writeTest() {
- const fileManager = uni.getFileSystemManager()
- try {
- fileManager.mkdirSync(`${this.basePath}${this.mkdirFile}`, true)
- } catch (e) {
- console.error(e)
- }
- fileManager.write({
- fd: this.openFileSyncTest('w+', false),
- data: this.writeData,
- encoding: "utf-8",
- success: (res : WriteResult) => {
- if (this.logAble) {
- this.log += 'writeTest success:' + JSON.stringify(res) + '\n\n'
- }
- console.log("success", res)
- this.bytesWritten = res.bytesWritten
- this.lastFailError = new UniError('uni-fileSystemManager', 0, 'writeTest success:' + JSON.stringify(res))
- },
- fail: (res : IUniError) => {
- if (this.logAble) {
- this.log += 'writeTest fail:' + JSON.stringify(res) + '\n\n'
- }
- console.log('fail', res)
- this.lastFailError = new UniError(res.errSubject, res.errCode, 'writeTest:' + res.errMsg)
- },
- complete: (_) => {
- this.done = true
- }
- } as WriteOptions)
- },
- writeSyncTest() {
- const fileManager = uni.getFileSystemManager()
- try {
- fileManager.mkdirSync(`${this.basePath}${this.mkdirFile}`, true)
- } catch (e) {
- console.error(e)
- }
- fileManager.open({
- filePath: `${this.basePath}${this.readFile}`,
- flag: "r+",
- success: (res : OpenFileSuccessResult) => {
- console.log("success", res)
- if (res.fd.length <= 0) {
- this.done = true
- return
- }
- try {
- let ret = fileManager.writeSync({
- fd: res.fd,
- data: this.writeData,
- encoding: "utf-8"
- } as WriteSyncOptions)
- if (this.logAble) {
- this.log += 'writeSyncTest success:' + JSON.stringify(ret) + '\n\n'
- }
- console.log("success", ret)
- this.done = true
- this.bytesWritten = ret.bytesWritten
- } catch (e) {
- if (this.logAble) {
- this.log += 'writeSyncTest fail:' + JSON.stringify(e) + '\n\n'
- }
- console.log('fail', e)
- this.done = true
- }
- },
- fail: (res : IUniError) => {
- if (this.logAble) {
- this.log += 'openFileTest fail:' + JSON.stringify(res) + '\n\n'
- }
- console.log('fail', res)
- this.lastFailError = new UniError(res.errSubject, res.errCode, res.errMsg)
- this.done = true
- }
- } as OpenFileOptions)
- },
- fstatTest() {
- const fileManager = uni.getFileSystemManager()
- fileManager.fstat({
- fd: this.openFileSyncTest('r', false),
- success: (res : FStatSuccessResult) => {
- if (this.logAble) {
- this.log += 'fstatTest success:' + JSON.stringify(res) + '\n\n'
- }
- console.log("success", res)
- this.fstat = res.stats
- this.fstatSize = res.stats.size
- },
- fail: (res : IUniError) => {
- if (this.logAble) {
- this.log += 'fstatTest fail:' + JSON.stringify(res) + '\n\n'
- }
- console.log('fail', res)
- this.lastFailError = new UniError(res.errSubject, res.errCode, res.errMsg)
- },
- complete: (_) => {
- this.done = true
- }
- } as FStatOptions)
- },
- fstatSyncTest() {
- const fileManager = uni.getFileSystemManager()
- try {
- let stat =
- fileManager.fstatSync({
- fd: this.openFileSyncTest('r', false),
- } as FStatSyncOptions)
- if (this.logAble) {
- this.log += 'fstatSyncTest success:' + JSON.stringify(stat) + '\n\n'
- }
- this.done = true
- this.fstat = stat
- this.fstatSize = stat.size
- } catch (e) {
- if (this.logAble) {
- this.log += 'fstatSyncTest fail:' + JSON.stringify(e) + '\n\n'
- }
- this.done = true
- }
- },
- ftruncateFileTest() {
- const fileManager = uni.getFileSystemManager()
- fileManager.ftruncate({
- fd: this.openFileSyncTest('r+', false),
- length: 6,
- success: (res : FileManagerSuccessResult) => {
- if (this.logAble) {
- this.log += 'ftruncateFileTest success:' + JSON.stringify(res) + '\n\n'
- }
- this.ftruncateRet = res.errMsg
- },
- fail: (res : IUniError) => {
- if (this.logAble) {
- this.log += 'ftruncateFileTest fail:' + JSON.stringify(res) + '\n\n'
- }
- console.log('fail', res)
- this.lastFailError = new UniError(res.errSubject, res.errCode, res.errMsg)
- },
- complete: (res : any) => {
- console.log("complete", res)
- this.done = true
- if (res instanceof UniError) {
- this.lastCompleteError = res
- }
- }
- } as FTruncateFileOptions)
- },
- ftruncateFileSyncTest() {
- const fileManager = uni.getFileSystemManager()
- try {
- fileManager.ftruncateSync({
- fd: this.openFileSyncTest('r+', false),
- length: 4
- } as FTruncateFileSyncOptions)
- if (this.logAble) {
- this.log += 'ftruncateFileSyncTest success:' + '\n\n'
- }
- this.done = true
- this.ftruncateRet = 'ftruncate:ok'
- } catch (e) {
- if (this.logAble) {
- this.log += 'ftruncateFileSyncTest fail:' + JSON.stringify(e) + '\n\n'
- }
- this.done = true
- }
- },
- readZipEntry() {
- const fileManager = uni.getFileSystemManager()
- fileManager.readZipEntry({
- filePath: '/static/filemanager/to.zip',
- encoding: 'utf-8',
- success: (res : EntriesResult) => {
- if (this.logAble) {
- this.log += 'readZipEntry success:size=' + res.result + '\n\n'
- }
- console.log("success", res)
- },
- fail: (res : IUniError) => {
- if (this.logAble) {
- this.log += 'readZipEntry fail:' + JSON.stringify(res) + '\n\n'
- }
- console.log('fail', res)
- this.lastFailError = new UniError(res.errSubject, res.errCode, res.errMsg)
- }
- } as ReadZipEntryOptions)
- },
- testWriteReadFileBuffer() {
- const fs = uni.getFileSystemManager()
- let buffer = new ArrayBuffer(16)
- let float64 = new Float64Array(buffer)
- float64[1] = 1.2222222
- let that = this
- fs.writeFile({
- filePath: `${uni.env.USER_DATA_PATH}/hello.txt`,
- // data: 'test some',
- data: buffer,
- // encoding: 'ascii',
- success: (res) => {
- if (this.logAble) {
- this.log += 'testWriteReadFileBuffer :' + res.errMsg + '\n\n'
- }
- console.log(res)
- // that.testAppendFile()
- that.testReadFileBuffer()
- },
- fail: (res) => {
- if (this.logAble) {
- this.log += 'testWriteReadFileBuffer fail:' + JSON.stringify(res) + '\n\n'
- }
- this.lastFailError = new UniError(res.errSubject, res.errCode, res.errMsg)
- console.error(res)
- this.done = true
- },
- complete: (_ : any) => {
- }
- } as WriteFileOptions)
- },
- testReadFileBuffer() {
- const fs = uni.getFileSystemManager()
- fs.readFile({
- filePath: `${uni.env.USER_DATA_PATH}/hello.txt`,
- success: (res) => {
- console.log(res)
- // let uint8Array = new Uint8Array(res.data as ArrayBuffer)
- // for (let i = 0; i < uint8Array.length; i++) {
- // console.log(`Byte ${i}: ${uint8Array[i]}`);
- // }
- let float64 = new Float64Array(res.data as ArrayBuffer)
- if (this.logAble) {
- for (let i = 0; i < float64.length; i++) {
- if (this.logAble) {
- this.log += 'testReadFileBuffer success :' + `Byte ${i}: ${float64[i]}` + '\n\n'
- }
- }
- }
- this.arrayBufferRes = float64[1] //1.2222222
- console.log(this.arrayBufferRes)
- },
- fail: (res) => {
- if (this.logAble) {
- this.log += 'testReadFileBuffer fail:' + JSON.stringify(res) + '\n\n'
- }
- this.lastFailError = new UniError(res.errSubject, res.errCode, res.errMsg)
- console.error(res)
- },
- complete: (res : any) => {
- console.log("complete", res)
- this.done = true
- if (res instanceof UniError) {
- this.lastCompleteError = res
- }
- }
- } as ReadFileOptions)
- },
- testWriteReadFileSyncBuffer() {
- try {
- const fs = uni.getFileSystemManager()
- let buffer = new ArrayBuffer(16)
- // let int8 = new Int8Array(buffer)
- // int8[1] = 20
- let float64 = new Float64Array(buffer)
- float64[1] = 1.333
- fs.writeFileSync(`${uni.env.USER_DATA_PATH}/hello.txt`, buffer, 'utf-8')
- if (this.logAble) {
- this.log += 'testWriteReadFileSyncBuffer success' + '\n\n'
- }
- this.testReadFileSyncBuffer()
- this.done = true
- } catch (e) {
- if (this.logAble) {
- this.log += 'testWriteReadFileSyncBuffer fail:' + JSON.stringify(e) + '\n\n'
- }
- this.done = true
- }
- },
- testReadFileSyncBuffer() {
- try {
- const fs = uni.getFileSystemManager()
- let res = fs.readFileSync(`${uni.env.USER_DATA_PATH}/hello.txt`, null)
- console.log(res)
- let float64 = new Float64Array(res as ArrayBuffer)
- for (let i = 0; i < float64.length; i++) {
- if (this.logAble) {
- this.log += 'testReadFileSyncBuffer success:' + `Byte ${i}: ${float64[i]}` + '\n\n'
- }
- console.log(`Byte ${i}: ${float64[i]}`);
- }
- this.arrayBufferRes = float64[1] // 1.333
- console.log(this.arrayBufferRes)
- } catch (e) {
- if (this.logAble) {
- this.log += 'testReadFileSyncBuffer fail:' + JSON.stringify(e) + '\n\n'
- }
- this.done = true
- }
- },
- testWriteReadBuffer() {
- const fileManager = uni.getFileSystemManager()
- try {
- fileManager.mkdirSync(`${this.basePath}${this.mkdirFile}`, true)
- } catch (e) {
- console.error(e)
- }
- let buffer = new ArrayBuffer(24)
- let float64 = new Float64Array(buffer)
- float64[1] = 1.24
- float64[2] = 1.33
- fileManager.write({
- fd: this.openFileSyncTest('w+', false),
- length: 16,
- offset: 8,
- data: buffer,
- position: 10,
- success: (res : WriteResult) => {
- console.log("success", res)
- const ab = new ArrayBuffer(24)
- fileManager.read({
- arrayBuffer: ab,
- fd: this.openFileSyncTest('a+', false),
- length: 8,
- position: 10,
- success: (res : ReadSuccessCallbackResult) => {
- console.log(res)
- let value = new Float64Array(res.arrayBuffer)
- for (let i = 0; i < value.length; i++) {
- console.log(`Byte ${i}: ${value[i]}`);
- if (this.logAble) {
- this.log += 'testWriteReadBuffer success:' + `Byte ${i}: ${value[i]}` + '\n\n'
- }
- }
- this.arrayBufferRes = value[0] //1.24
- console.log(this.arrayBufferRes)
- },
- fail: (res) => {
- console.log(res)
- this.done = true
- if (res instanceof UniError) {
- this.lastCompleteError = res
- }
- },
- complete: (res : any) => {
- console.log("complete", res)
- this.done = true
- if (res instanceof UniError) {
- this.lastCompleteError = res
- }
- }
- } as ReadOption)
- },
- fail: (res : IUniError) => {
- this.done = true
- if (res instanceof UniError) {
- this.lastCompleteError = res
- }
- },
- complete: (_) => {
- }
- } as WriteOptions)
- },
- testWriteReadSyncBuffer() {
- const fileManager = uni.getFileSystemManager()
- try {
- fileManager.mkdirSync(`${this.basePath}${this.mkdirFile}`, true)
- } catch (e) {
- }
- try {
- let buffer = new ArrayBuffer(24)
- let float64 = new Float64Array(buffer)
- float64[1] = 1.11
- float64[2] = 1.33
- let ret = fileManager.writeSync({
- fd: this.openFileSyncTest('w+', false),
- // data: this.writeData,
- data: buffer,
- length: 16,
- offset: 8,
- position: 10,
- encoding: "utf-8"
- } as WriteSyncOptions)
- console.log("success", ret)
- const ab = new ArrayBuffer(24)
- let res = fileManager.readSync({
- arrayBuffer: ab,
- fd: this.openFileSyncTest('a+', false),
- length: 8,
- offset: 8,
- position: 10
- } as ReadSyncOption)
- console.log(res)
- let value = new Float64Array(res.arrayBuffer)
- for (let i = 0; i < value.length; i++) {
- if (this.logAble) {
- this.log += 'testWriteReadSyncBuffer success :' + `Byte ${i}: ${value[i]}` + '\n\n'
- }
- }
- this.done = true
- this.arrayBufferRes = float64[1] //1.11
- console.log(this.arrayBufferRes)
- } catch (e) {
- this.done = true
- console.error(e)
- }
- },
- testAppendFileBufferSync() {
- // 同步接口
- const fs = uni.getFileSystemManager()
- try {
- let buffer = new ArrayBuffer(24)
- let float64 = new Float64Array(buffer)
- float64[1] = 1.2222222
- float64[2] = 1.33
- let ret = fs.writeSync({
- fd: fs.openSync({ filePath: `${uni.env.USER_DATA_PATH}/hello.txt`, flag: 'w+' } as OpenFileSyncOptions),
- data: buffer,
- length: 16,
- offset: 8,
- position: 10
- } as WriteSyncOptions)
- console.log(ret)
- buffer = new ArrayBuffer(16)
- float64 = new Float64Array(buffer)
- float64[0] = 20
- fs.appendFileSync(`${uni.env.USER_DATA_PATH}/hello.txt`, buffer, null)
- const ab = new ArrayBuffer(32)
- // 打开文件
- // 读取文件到 ArrayBuffer 中
- let readResult = fs.readSync({
- fd: fs.openSync({
- filePath: `${uni.env.USER_DATA_PATH}/hello.txt`,
- flag: 'a+',
- } as OpenFileSyncOptions),
- arrayBuffer: ab,
- length: 24,
- position: 10,
- offset: 8
- } as ReadSyncOption)
- console.log(readResult)
- float64 = new Float64Array(readResult.arrayBuffer)
- for (let i = 0; i < float64.length; i++) {
- if (this.logAble) {
- this.log += 'testAppendFileBufferSync success :' + `Byte ${i}: ${float64[i]}` + '\n\n'
- }
- console.log(`Byte ${i}: ${float64[i]}`);
- }
- this.arrayBufferRes = float64[3] //20
- console.log(this.arrayBufferRes)
- this.done = true
- } catch (e) {
- this.done = true
- if (this.logAble) {
- this.log += 'testAppendFileBufferSync fail:' + JSON.stringify(e) + '\n\n'
- }
- console.error(e)
- }
- },
- testAppendFileBuffer() {
- // 同步接口
- const fs = uni.getFileSystemManager()
- try {
- let buffer = new ArrayBuffer(24)
- let float64 = new Float64Array(buffer)
- float64[1] = 1.2222222
- float64[2] = 1.33
- let ret = fs.writeSync({
- fd: fs.openSync({ filePath: `${uni.env.USER_DATA_PATH}/hello.txt`, flag: 'w+' } as OpenFileSyncOptions),
- data: buffer,
- length: 16,
- offset: 8,
- position: 10
- } as WriteSyncOptions)
- console.log(ret)
- buffer = new ArrayBuffer(16)
- float64 = new Float64Array(buffer)
- float64[0] = 21
- fs.appendFile({
- filePath: `${uni.env.USER_DATA_PATH}/hello.txt`,
- data: buffer,
- success: (res) => {
- console.log(res)
- const ab = new ArrayBuffer(32)
- // 打开文件
- // 读取文件到 ArrayBuffer 中
- let readResult = fs.readSync({
- fd: fs.openSync({
- filePath: `${uni.env.USER_DATA_PATH}/hello.txt`,
- flag: 'a+',
- } as OpenFileSyncOptions),
- arrayBuffer: ab,
- length: 24,
- position: 10,
- offset: 8
- } as ReadSyncOption)
- console.log(readResult)
- float64 = new Float64Array(readResult.arrayBuffer)
- for (let i = 0; i < float64.length; i++) {
- console.log(`Byte ${i}: ${float64[i]}`);
- if (this.logAble) {
- this.log += 'testAppendFileBuffer success :' + `Byte ${i}: ${float64[i]}` + '\n\n'
- }
- }
- this.arrayBufferRes = float64[3] //21
- console.log(this.arrayBufferRes)
- },
- fail: (res) => {
- console.log(res)
- },
- complete: (_) => {
- this.done = true
- }
- } as AppendFileOptions)
- } catch (e) {
- this.done = true
- if (this.logAble) {
- this.log += 'testAppendFileBufferSync fail:' + JSON.stringify(e) + '\n\n'
- }
- console.error(e)
- }
- },
- // #ifdef APP
- testReadFileEncoding(encoding : string) {
- console.log('testEncoding', encoding)
- uni.chooseImage({
- count: 1,
- albumMode: "system",
- sizeType: ["original"],
- sourceType: ["album"],
- success: (e) => {
- console.log(e.tempFilePaths[0])
- uni.getFileSystemManager().readFile({
- filePath: e.tempFilePaths[0],
- encoding: encoding,
- success: (res) => {
- console.log('success:', (res.data as string).length)
- }
- })
- }
- })
- },
- testReadFileArrayBuffer() {
- uni.chooseImage({
- count: 1,
- albumMode: "system",
- sizeType: ["original"],
- sourceType: ["album"],
- success: (e) => {
- console.log(e.tempFilePaths[0])
- uni.getFileSystemManager().readFile({
- filePath: e.tempFilePaths[0],
- success: (res) => {
- console.log('success:', (res.data as ArrayBuffer).byteLength)
- }
- })
- }
- })
- },
- testReadFileSyncEncoding(encoding : string) {
- console.log('testEncoding', encoding)
- uni.chooseImage({
- count: 1,
- albumMode: "system",
- sizeType: ["original"],
- sourceType: ["album"],
- success: (e) => {
- console.log(e.tempFilePaths[0])
- try {
- let res = uni.getFileSystemManager().readFileSync(e.tempFilePaths[0], encoding)
- console.log('success:', (res as string).length)
- } catch (e) {
- console.log(e)
- }
- }
- })
- },
- testReadFileSyncArrayBuffer() {
- uni.chooseImage({
- count: 1,
- albumMode: "system",
- sizeType: ["original"],
- sourceType: ["album"],
- success: (e) => {
- console.log(e.tempFilePaths[0])
- try {
- let res = uni.getFileSystemManager().readFileSync(e.tempFilePaths[0], null)
- console.log('success:', (res as ArrayBuffer).byteLength)
- } catch (e) {
- console.log(e)
- }
- }
- })
- },
- copyFileByContent() {
- uni.chooseImage({
- count: 1,
- albumMode: "system",
- sizeType: ["original"],
- sourceType: ["album"],
- success: (e) => {
- console.log(e.tempFilePaths[0])
- uni.getFileSystemManager().copyFile({
- srcPath: e.tempFilePaths[0],
- destPath: uni.env.CACHE_PATH + 'copyFileByContent.jpg',
- complete: (res) => {
- console.log('success:', res)
- }
- })
- }
- })
- },
- copyFileSyncByContent() {
- uni.chooseImage({
- count: 1,
- albumMode: "system",
- sizeType: ["original"],
- sourceType: ["album"],
- success: (e) => {
- console.log(e.tempFilePaths[0])
- try {
- let res = uni.getFileSystemManager().copyFileSync(e.tempFilePaths[0], uni.env.CACHE_PATH + 'copyFileSyncByContent.jpg',)
- console.log('success:', res)
- } catch (e) {
- console.log(e)
- }
- }
- })
- },
- // #endif
- gotoExplore() {
- uni.navigateTo({
- url: "/pages/API/get-file-system-manager/filemanage"
- })
- }
- },
- }
- </script>
- <style>
- .btnstyle {
- margin: 4px;
- }
- </style>
|