我目前正在执行以下操作来解码Javascript中的base64图像:
var strImage = "";
strImage = strToReplace.replace("data:image/jpeg;base64,", "");
strImage = strToReplace.replace("data:image/png;base64,", "");
strImage = strToReplace.replace("data:image/gif;base64,", "");
strImage = strToReplace.replace("data:image/bmp;base64,", "");
Run Code Online (Sandbox Code Playgroud)
如您所见,我们接受四种最标准的图像类型(jpeg,png,gif,bmp);
然而,这些图像中的一些非常大,并且通过替换扫描每个图像4-5次似乎是可怕的浪费并且非常低效.
有没有办法可以可靠地剥离数据:一次传递中base64图像字符串的图像部分?
也许通过检测字符串中的第一个逗号?
提前致谢.
我有一个Angular2项目,在Mac OS上创建并运行.但是当我在Windows上使用它时,它无法运行.在Chrome中,我收到此错误:
core.umd.js:3491 EXCEPTION: Uncaught (in promise): TypeError: Cannot set property 'name' of undefined
TypeError: Cannot set property 'name' of undefined
at new EmptyError (http://localhost:3000/node_modules/rxjs/util/EmptyError.js:21:30)
at FirstSubscriber._complete (http://localhost:3000/node_modules/rxjs/operator/first.js:148:31)
at FirstSubscriber.Subscriber.complete (http://localhost:3000/node_modules/rxjs/Subscriber.js:114:18)
at MergeAllSubscriber._complete (http://localhost:3000/node_modules/rxjs/operator/mergeAll.js:94:30)
at MergeAllSubscriber.Subscriber.complete (http://localhost:3000/node_modules/rxjs/Subscriber.js:114:18)
at MapSubscriber.Subscriber._complete (http://localhost:3000/node_modules/rxjs/Subscriber.js:132:26)
at MapSubscriber.Subscriber.complete (http://localhost:3000/node_modules/rxjs/Subscriber.js:114:18)
at EmptyObservable._subscribe (http://localhost:3000/node_modules/rxjs/observable/EmptyObservable.js:69:24)
at EmptyObservable.Observable.subscribe (http://localhost:3000/node_modules/rxjs/Observable.js:45:27)
at Observable._subscribe (http://localhost:3000/node_modules/rxjs/Observable.js:103:28)
at MapOperator.call (http://localhost:3000/node_modules/rxjs/operator/map.js:54:23)
at Observable.subscribe (http://localhost:3000/node_modules/rxjs/Observable.js:42:22)
at Observable._subscribe (http://localhost:3000/node_modules/rxjs/Observable.js:103:28)
at MergeAllOperator.call (http://localhost:3000/node_modules/rxjs/operator/mergeAll.js:63:23)
at Observable.subscribe (http://localhost:3000/node_modules/rxjs/Observable.js:42:22)
core.umd.js:3496 ORIGINAL STACKTRACE:ErrorHandler.handleError @ core.umd.js:3496next @ core.umd.js:8449schedulerFn @ core.umd.js:4118SafeSubscriber.__tryOrUnsub @ Subscriber.ts:238SafeSubscriber.next @ Subscriber.ts:190Subscriber._next …Run Code Online (Sandbox Code Playgroud)