fazer upload do arquivo do site local para o armazenamento de blob

Siddarth Bhaire

Quero carregar arquivos do armazenamento local para o contêiner de blob do Azure. Abaixo está o código PHP que está falhando.

Estou usando o XAMPP como um servidor local. Eu criei uma página da web local que carrega arquivos para o servidor MySQL local e um contêiner no armazenamento de blobs do Azure.

O código abaixo falha quando tento fazer upload de um arquivo. (no entanto, se eu remover a parte do código que carrega para o blob do Azure, o código funcionará perfeitamente e os arquivos serão carregados para o servidor MySQL local.) Estou enfrentando um problema ao carregar os arquivos para o Blob do Azure.

<?php
  require_once "vendor/autoload.php";
  use MicrosoftAzure\Storage\Blob\BlobRestProxy;
  use MicrosoftAzure\Storage\Common\ServiceException;
  
  // If the upload button is clicked ... 
  if (isset($_POST['upload'])) {

    //upload to azure blob container

    //Enter deployment key
    $connectionString = ""; 

    $blobClient = BlobRestProxy::createBlobService($connectionString);
    $file_name = $_FILES['myFile']['name'];
    $tmp = explode('.' , $file_name);
    $extension = end($tmp);
    $file_name = mt_rand().".".$entension;
    $file_tmp = $FILES['myFile']['tmp_name'];


    $containerName = 'new'; //Enter Container Name
    $keyname = $file_name;
    $content = fopen($file_tmp, "r");
    $blobClient = BlobRestProxy::createBlobService($connectionString);

       #upload file as a block blob
       //*upload blob*
       $blobClient->createBlockBlob($containerName, $file_name, $content);
       echo "Blob upload successful";

    //upload to local mysql server
    $filename = $_FILES["uploadfile"]["name"]; 
    $tempname = $_FILES["uploadfile"]["tmp_name"];     
        $folder = "image/".$filename; 
          
    $db = mysqli_connect("localhost", "root", "", "siddemo"); 
  
        //Get all the submitted data from the form
        $sql = "INSERT INTO images (filename) VALUES ('$filename')"; 
  
        // Execute query 
        mysqli_query($db, $sql); 
          
        // Now let's move the uploaded image into the folder: image 
        if (move_uploaded_file($tempname, $folder))  { 
            $msg = "Image uploaded successfully"; 
        }else{ 
            $msg = "Failed to upload image"; 
      } 
  } 
  $result = mysqli_query($db, "SELECT * FROM images");
?> 
Jim Xu

Resumo minhas sugestões como abaixo

Se quisermos carregar o arquivo para o Armazenamento de Blob do Azure com o SDK do Blob do PHP do Azure, consulte as etapas a seguir

  1. Crie um arquivo chamado composer.json na raiz do seu projeto
{
  "require": {
    "microsoft/azure-storage-blob": "*"
  }
}
  1. Baixe composer.phar na raiz do seu projeto.

  2. Instalar sdk

php composer.phar install
  1. Código
     // name of the uploaded file
     $filename = $_FILES['myfile']['name'];
    // the physical file on a temporary uploads directory on the server
    $file = $_FILES['myfile']['tmp_name'];
    $size = $_FILES['myfile']['size'];
    $connectionString="";
    $blobClient = BlobRestProxy::createBlobService($connectionString);
    $content = fopen($file, "r"); 
    //Upload blob
    $containerName = "upload";;
    $blobClient->createBlockBlob($containerName, $filename, $content);
    echo "File uploaded Azure Blob successfully";

Este artigo é coletado da Internet.

Se houver alguma infração, entre em [email protected] Delete.

editar em
0

deixe-me dizer algumas palavras

0comentários
loginDepois de participar da revisão

Artigos relacionados

Como fazer upload do arquivo ZIP do gerenciamento de API para o armazenamento de blob

Como fazer upload de vários arquivos do armazenamento local para o armazenamento de blob do azure usando o arquivo .sh localizado no azure webapp

Como fazer upload de um arquivo do meu armazenamento local para o S3?

Não é possível fazer upload / download do armazenamento de blob para o contêiner do ambiente local

Como fazer upload do arquivo para o armazenamento de blob do azure diretamente do aplicativo Spring Boot, sem levar o arquivo para a memória (memória de buffer)

Definir o tipo de conteúdo ao fazer upload para o Armazenamento de Blob do Azure

Como transferir objetos para o Armazenamento de Blob do Azure sem salvar o arquivo no armazenamento local?

Erro de autenticação ao fazer upload do arquivo para o armazenamento do Firebase

Arquivo de upload do Django Azure para armazenamento de blob

Como compactar arquivos para compactar e fazer upload para o armazenamento de blob do azul?

Não é possível fazer upload do arquivo de ~ 200 MB para armazenamento de blob azul pelo lado do servidor núcleo asp.net

Upload de arquivo do aplicativo Blazor WebAssembly diretamente para o armazenamento Blob

Como fazer upload de um arquivo do aplicativo do console para o site MVC?

Como obter progresso durante o upload do arquivo para o armazenamento de blob azul usando o método do navegador

Mover um arquivo do Armazenamento de Arquivos do Azure para o Armazenamento de Blob do Azure

não consigo fazer upload do arquivo para armazenamento em nuvem do Google em produção

No flutter, depois de fazer o upload de um arquivo para o armazenamento do firebase, como obtenho o URL público?

Como fazer upload de uma imagem para o Armazenamento de Blob do Azure com SDK v10?

Como fazer upload de uma imagem para o Armazenamento de Blob do Azure com SDK v10?

Metadados de passagem de armazenamento de Blob do Azure do upload para o acionador de blob

Copie o arquivo do armazenamento de arquivos para o armazenamento de blob usando python

Flutter AZURE BLOB IMAGE UPLOAD - Como fazer o upload da imagem capturada com a câmera do celular para o armazenamento de blob azul

Quais são as duas tarefas no código para fazer upload do arquivo para o armazenamento do Firebase?

Como posso configurar o CORS corretamente para fazer upload do arquivo com um presignedUrl para o armazenamento do Firebase?

Powershell: copiar o arquivo do compartilhamento de arquivos do Azure para a conta de armazenamento de Blob

Mecanismo para fazer upload do modelo ARM para o armazenamento

O upload do arquivo para o armazenamento de blob do azure e o envio da resposta http com a string dos arquivos base64 não funciona

O upload do arquivo para o armazenamento de blob do azure e o envio da resposta http com a string dos arquivos base64 não funciona

Como fazer upload de imagem para o armazenamento em nuvem do firebase do campo de entrada?