Pre Merge pull request !440 from zgf/master
This commit is contained in:
commit
93b236ac7d
|
@ -206,7 +206,7 @@ export class ImageKnifeDispatcher {
|
||||||
requestList.add({ request: currentRequest, source: requestSource })
|
requestList.add({ request: currentRequest, source: requestSource })
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
LogUtil.info('image load getAndShow start:')
|
||||||
let isWatchProgress : boolean = false
|
let isWatchProgress : boolean = false
|
||||||
if (currentRequest.imageKnifeOption.progressListener !== undefined && requestSource === ImageKnifeRequestSource.SRC) {
|
if (currentRequest.imageKnifeOption.progressListener !== undefined && requestSource === ImageKnifeRequestSource.SRC) {
|
||||||
isWatchProgress = true
|
isWatchProgress = true
|
||||||
|
|
|
@ -35,6 +35,7 @@ import util from '@ohos.util';
|
||||||
import { FileTypeUtil } from './utils/FileTypeUtil';
|
import { FileTypeUtil } from './utils/FileTypeUtil';
|
||||||
import { DownsampleStrategy } from './downsampling/DownsampleStartegy';
|
import { DownsampleStrategy } from './downsampling/DownsampleStartegy';
|
||||||
import { Downsampler } from './downsampling/Downsampler';
|
import { Downsampler } from './downsampling/Downsampler';
|
||||||
|
import { common } from '@kit.AbilityKit';
|
||||||
|
|
||||||
class RequestData {
|
class RequestData {
|
||||||
receiveSize: number = 2000
|
receiveSize: number = 2000
|
||||||
|
@ -53,8 +54,13 @@ export class ImageKnifeLoader {
|
||||||
callBackData.bufSize = resBuf.byteLength;
|
callBackData.bufSize = resBuf.byteLength;
|
||||||
let typeValue = new FileTypeUtil().getFileType(resBuf);
|
let typeValue = new FileTypeUtil().getFileType(resBuf);
|
||||||
if(typeValue == null) {
|
if(typeValue == null) {
|
||||||
|
let unit8 = new Uint8Array(resBuf)
|
||||||
LogUtil.log('ImageKnife_DataTime_requestJob.end: getFileType is null ' + request.src)
|
LogUtil.log('ImageKnife_DataTime_requestJob.end: getFileType is null ' + request.src)
|
||||||
ImageKnifeLoader.makeEmptyResult(request,'request is not a valid image source', ImageKnifeLoader.assembleError(callBackData, LoadPhase.PHASE_GET_FORMAT, LoadPixelMapCode.IMAGE_PARSE_FORMAT_FAILED_CODE))
|
ImageKnifeLoader.makeEmptyResult(request,
|
||||||
|
'request is not a valid image source:' + request.src + ',buffer:' + resBuf.byteLength + ',unit8:' + unit8[0] + ',' +
|
||||||
|
unit8[1] + ',' + unit8[2],
|
||||||
|
ImageKnifeLoader.assembleError(callBackData, LoadPhase.PHASE_GET_FORMAT,
|
||||||
|
LoadPixelMapCode.IMAGE_PARSE_FORMAT_FAILED_CODE))
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
callBackData.type = typeValue;
|
callBackData.type = typeValue;
|
||||||
|
@ -552,7 +558,7 @@ export class ImageKnifeLoader {
|
||||||
ImageKnifeLoader.assembleError(callBackData,LoadPhase.PHASE_SHARE_FILE, LoadPixelMapCode.IMAGE_LOAD_SHARE_FILE_FAILED_CODE)
|
ImageKnifeLoader.assembleError(callBackData,LoadPhase.PHASE_SHARE_FILE, LoadPixelMapCode.IMAGE_LOAD_SHARE_FILE_FAILED_CODE)
|
||||||
loadError = 'LoadDataShareFileClient fs.open err happened uri=' + request.src + ' err.msg=' + err?.message + ' err.code=' + err?.code
|
loadError = 'LoadDataShareFileClient fs.open err happened uri=' + request.src + ' err.msg=' + err?.message + ' err.code=' + err?.code
|
||||||
})
|
})
|
||||||
} else { //从本地文件获取
|
} else if (ImageKnifeLoader.isLocalLoadSrc(request.context, request.src)) { //从本地文件获取
|
||||||
ImageKnifeLoader.assembleError(callBackData,LoadPhase.PHASE_LOCAL_FILE)
|
ImageKnifeLoader.assembleError(callBackData,LoadPhase.PHASE_LOCAL_FILE)
|
||||||
try {
|
try {
|
||||||
let stat = fs.statSync(request.src);
|
let stat = fs.statSync(request.src);
|
||||||
|
@ -564,8 +570,10 @@ export class ImageKnifeLoader {
|
||||||
}
|
}
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
ImageKnifeLoader.assembleError(callBackData,LoadPhase.PHASE_LOCAL_FILE, LoadPixelMapCode.IMAGE_LOAD_LOCAL_FILE_FAILED_CODE)
|
ImageKnifeLoader.assembleError(callBackData,LoadPhase.PHASE_LOCAL_FILE, LoadPixelMapCode.IMAGE_LOAD_LOCAL_FILE_FAILED_CODE)
|
||||||
loadError = err
|
loadError = 'fileDir or CacheDir:' + err
|
||||||
}
|
}
|
||||||
|
} else {
|
||||||
|
loadError = 'wrong link :' + request.src
|
||||||
}
|
}
|
||||||
} else if (typeof request.src == 'number') { //从资源文件获取
|
} else if (typeof request.src == 'number') { //从资源文件获取
|
||||||
let manager = request.context.createModuleContext(request.moduleName).resourceManager
|
let manager = request.context.createModuleContext(request.moduleName).resourceManager
|
||||||
|
@ -594,7 +602,16 @@ export class ImageKnifeLoader {
|
||||||
}
|
}
|
||||||
ImageKnifeLoader.parseImage(resBuf,fileKey,request, callBackData)
|
ImageKnifeLoader.parseImage(resBuf,fileKey,request, callBackData)
|
||||||
}
|
}
|
||||||
|
static isLocalLoadSrc(context: Object | undefined, loadSrc: string): boolean {
|
||||||
|
if (context != undefined) {
|
||||||
|
let fileDir: string = (context as common.UIAbilityContext).filesDir as string;
|
||||||
|
let cacheDir: string = (context as common.UIAbilityContext).cacheDir as string
|
||||||
|
if (loadSrc.startsWith(fileDir) || loadSrc.startsWith(cacheDir)) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
static getDownsamplerDecodingOptions(typeValue: string, request: RequestJobRequest, size: Size,
|
static getDownsamplerDecodingOptions(typeValue: string, request: RequestJobRequest, size: Size,
|
||||||
SRC?: ImageKnifeRequestSource):image.DecodingOptions {
|
SRC?: ImageKnifeRequestSource):image.DecodingOptions {
|
||||||
let reqSize =
|
let reqSize =
|
||||||
|
|
Loading…
Reference in New Issue