Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
6 years ago
Solved

multipartmimestreamformatexception error when importing pbix files using rest api

hi,

 

So I'm using powershell to automate my power BI reports into my workspace through imports API.

here's the code which I'm using :

    $PBIXuri="my azure blob storage url",
    $Workspaceurl="https://api.powerbi.com/v1.0/myorg/groups/mygroups/imports?datasetDisplayName=myreportname",
    $AccessToken="my oauth token"

    #download my pbix file from azure blob storage
    $cli = New-Object System.Net.WebClient
    $exportpbix = $cli.DownloadData($PBIXuri)

    $powerBiBody = @'
    --exptest
    Content-Disposition: form-data; name="file";
    Content-Type: application/x-zip-compressed

    {0}
    --exptest--

    '@

    #set my pbix file into request body
    $encoding = [System.Text.Encoding]::GetEncoding('iso-8859-1')
    $body = $powerBiBody -f $encoding.GetString($exportpbix)

    $headers = @{
    "Authorization" = "Bearer " + $AccessToken}

    Invoke-RestMethod -Uri $Workspaceurl -Method Post -Headers $headers -Body $body -ContentType "multipart/form-data; boundary=--exptest"

 

but it always return an error like :

 

Invoke-RestMethod :     {"error":
     {"code":"MultiPartMimeStreamFormatException","pbi.error": 
       {"code":"MultiPartMimeStreamFormatException",
        "parameters":{},
        "details":[],
        "exceptionCulprit":1
        }
      }
    }

 

where do I went wrong on my code?

  • Anonymous's avatar
    Anonymous
    6 years ago

    finally found the problem.

    the code itself has no problem, the problem is on the ps1 file itself. 

    I don't know why but the ps1 file on my local is being recognized as a UNIX based files. because my OS is windows I just changed it into win based files again and it works just fine.

3 Replies

    • Anonymous's avatar
      Anonymous
      Not applicable

      Hi lbendlin 

       

      yes, I've tried my code in the sandbox and it works just fine.

      this code is for my web app where it will call my PowerShell to import a PBI file from Azure Storage.

      the strange thing about this [MultiPartMimeStreamFormatException] error is, it's only occurred when I try to run the code from my local environment. while if I released it to my app container on top of Azure it worked just fine.

       

      • Anonymous's avatar
        Anonymous
        Not applicable

        finally found the problem.

        the code itself has no problem, the problem is on the ps1 file itself. 

        I don't know why but the ps1 file on my local is being recognized as a UNIX based files. because my OS is windows I just changed it into win based files again and it works just fine.