将黑色图像上载到Azure Blob

时间:2017-11-06 17:47:25

标签: angularjs node.js azure-storage-blobs azure-blob-storage

我们有一个应用程序,我们使用Azure Blob存储服务来保存我们的文件。几个月前,图像存储正确。

但是,现在我们上传了图片但是没有保存。有保存的黑色图像。

我们开发了带角度的应用程序。

编辑(添加以下内容):

以下是代码:

module.exports.addImage = (userId, data) ->
  p = new hope.Promise
  headers =
    contentType: 'image/jpg'
    contentEncoding: 'base64'

  imageUid = uid 64
  imageName = imageUid + '.jpg'
  image = new Buffer data, 'base64'

  jimp.read image, (error, img) ->
    if error
      return p.done error
    img.resize(200, 200).getBuffer jimp.MIME_JPEG, (error, result) ->
      return p.done error if error
      blobService = azure.createBlobService AZURE_BLOB, AZURE_BLOB_SECRET

      blobService.createBlockBlobFromText 'profile', imageName,
        result, headers, (error, result, response) ->
          return p.done error if error

          Profile.findOne {user: new objectId(userId)}, (error, profile) ->
            return p.done error if error
            if !profile
              return p.done null, null
            profile.profileImage = imageName
            profile.save (error) ->
              if error
                return p.done error
              return p.done null, true

  return p

编辑2(添加了angularjs代码,它在coffescript中)

article#profile__edit--photo
            h3 {{'PROFILE_PHOTO' | translate}}
            div
              label(for='profile-image')
                | {{'PROFILE_IMAGE' | translate}}
                span.form-group-help Opcional
              input#image.form-control(type='file', accept='image/*', onchange='angular.element(this).scope().handleFileSelect(this)')
            .cropArea
              img-crop(image='image.profileImage', result-image='image.croppedImage')

Jimp版本:0.2.27

0 个答案:

没有答案