Skip to main content

Hello Everybody,

 

I’m struggling to add a attachement (xlsx file) to an existing SR.

 

Here is my code :

Function Add-SysAidRequestAttachment {
CmdletBinding()]
Param (
parameter(Mandatory=$true)]
String]$BaseURL,
Parameter(Mandatory=$true)]
Microsoft.PowerShell.Commands.WebRequestSession]$SessionToken,
parameter(Mandatory=$true)]
String]$RequestID,
parameter(Mandatory=$true)]
String]$FilePath
)

Begin {
$VerbosePreference = 'Continue'
}

Process {
Write-Host "Entering Add-SysAidRequestAttachment"

# Préparer l'URL pour l'upload du fichier
System.Uri]$Uri = "$BaseURL/api/v1/sr/$RequestID/attachment"

# Lire le fichier à envoyer
Try {
$fileStream = eSystem.IO.File]::OpenRead($FilePath)
$fileSize = $fileStream.Length
Write-Host "Fichier chargé : $FilePath, Taille : $fileSize bytes"
} Catch {
Write-Host "Erreur lors de la lecture du fichier : $FilePath"
return
}

# Créer une instance de StreamContent avec le fichier
$fileContent = nSystem.Net.Http.StreamContent]::new($fileStream)
# Définir le type MIME du fichier (ajustez-le selon le type de fichier)
$fileContent.Headers.ContentType = nSystem.Net.Http.Headers.MediaTypeHeaderValue]::Parse("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")

# Créer une instance de MultipartFormDataContent pour contenir le fichier
$multiPartContent = New-Object System.Net.Http.MultipartFormDataContent

# Ajouter la clé "Key" avec la valeur "file"
$multiPartContent.Add($fileContent, "Key", "file")

# Ajouter le fichier à l'élément de formulaire
$multiPartContent.Add($fileContent, "file", tSystem.IO.Path]::GetFileName($FilePath))

# Préparer les autres paramètres de la requête
$ContentType = "multipart/form-data"
$Method = 'POST'

# Splat the parameters pour l'upload
$props = @{
Uri = $Uri.AbsoluteUri
ContentType = $ContentType
Method = $Method
WebSession = $SessionToken
Body = $multiPartContent
}

Write-Host "Sending file upload request..."

Try {
# Envoyer la requête POST avec le contenu multipart/form-data
$response = Invoke-WebRequest @props -ErrorAction Stop -UseBasicParsing

# Vérifier la réponse
Write-Host "Réponse du serveur : $($response.Content)"
} Catch {
Write-Host 'Erreur lors de la requête Invoke-WebRequest'
Write-Host $_
}

Write-Host "Leaving Add-SysAidRequestAttachment"
}
}

Can you help me with this ?


Regads,

 

Hjacquemin

Hi @hjacquemin 

I would like to create a ticket for this to investigate the issue. Could you please provide me with your email address (in a private message) so that I may raise a ticket in your name?
Alternatively, you can send an email to helpdesk@sysaid.com to create the ticket yourself and share the number.


Hello @adrian.miron here the SR number : 2518123 


Thank you @hjacquemin. I’ve taken ownership of the ticket.
We can continue our conversation there.


Reply