fileReader.js 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. // 图片上传
  2. app.factory("fileReader", [
  3. "$q",
  4. "$log",
  5. function ($q, $log) {
  6. var onLoad = function (reader, deferred, scope) {
  7. return function () {
  8. scope.$apply(function () {
  9. deferred.resolve(reader.result);
  10. });
  11. };
  12. };
  13. var onError = function (reader, deferred, scope) {
  14. return function () {
  15. scope.$apply(function () {
  16. deferred.reject(reader.result);
  17. });
  18. };
  19. };
  20. var getReader = function (deferred, scope) {
  21. var reader = new FileReader(); //fileReader
  22. reader.onload = onLoad(reader, deferred, scope);
  23. reader.onerror = onError(reader, deferred, scope);
  24. return reader;
  25. };
  26. var readAsDataURL = function (file, scope) {
  27. var deferred = $q.defer();
  28. var reader = getReader(deferred, scope);
  29. reader.readAsDataURL(file);
  30. return deferred.promise;
  31. };
  32. return {
  33. readAsDataUrl: readAsDataURL,
  34. };
  35. },
  36. ]);