Drupal模块Azure Blob损坏的图像

时间:2014-10-25 08:50:00

标签: php drupal-7 drupal-modules azure-storage azure-storage-blobs

我刚开始使用Azure构建Drupal站点。我安装了Azure Blob module,一切正常(本地环境),包括显示和上传图像到存储blob。但是,在将站点和数据库部署到临时服务器之后,所有映像都会中断。我确保图像存在,因为我在本地工作时上传了它们。我无法确定实际问题是什么。

该模块已经有一段时间没有更新了,我花了一些时间来挖掘模块的代码,但没有用。我想知道是否有人遇到类似的问题,或许可以指出我正确的方向。提前谢谢。

1 个答案:

答案 0 :(得分:1)

我终于弄明白了问题所在。当所有内容都部署到Azure时,我无法显示或上传图像,不确定我通过逐个消除可能原因而经历了反复试验过程的确切问题。这一切都归结为模块本身的变化。在文件“azure_blob.streamwrappers.inc”中,转到createStorageClient函数。您需要在配置中指定BlobEndpoint。

if (!isset(self::$clients[$scheme])) {
  // Obtain user configuration from database
  $configuration = ctools_export_crud_load('azure_blob', $scheme);

  if (isset($configuration)) {
    // @todo Use shared access signature to specify a specific blob endpoint
    $connection_string = 'DefaultEndpointsProtocol=https;AccountName=' .
      $configuration->account . ';AccountKey=' . $configuration->primary_key . ';BlobEndpoint=http://[StorageName].blob.core.windows.net/';

    self::$clients[$scheme] = 
      ServicesBuilder::getInstance()->createBlobService($connection_string);

    // Store other configuration properties in client object
    self::$clients[$scheme]->blob_container = $configuration->blob_container;
    self::$clients[$scheme]->cache_control = $configuration->cache_control;
  }
  else {
    throw new Exception(t('Invalid storage scheme "@stream"', array('@stream' => $scheme)));
  }
}

return self::$clients[$scheme];

我希望这有助于将来遇到同样问题的任何人。我真的把头发拉出来试图找到一个解决方案2天:)