Table of Contents

ControlAddIn "Drop File Area UTCAP"

Namespace: CapVision.Core.Controls

Cet add-in affiche une zone de glisser-déposer.

Remarks

A propos du mode de téléchargement

    Le mode de téléchargement standard est _StreamContentMultiparts_, cela signifie que lorsqu'un fichier est déposé sur la zone de téléchargement, il est transmis par petit paquet à Business Central.
    Cette option est optimale pour le téléchargement de gros fichiers et vous permet aussi d'actualiser le contenu du composant pour signifier à l'utilisateur la progression du téléchargement.
    Toutefois, l'implémentation de cette option est plus délicate. Vous devez notamment assembler vous-même le fichier dans Business Central.
    
    Le mode _StreamContent_ est plus simple et permet de récupérer le fichier en une seule partie. Cette méthode peut toutefois causer des problèmes de stabilité lorsqu'un gros fichier est déposé.
    
    La dernière option, _Filename_, ne permet pas de récupérer le contenu des fichiers déposés mais uniquement leur nom et leur taille respective.

Examples

L'exemple ci-dessous présente l'implémentation d'un récapitulatif qui supporte le téléchargement d'un fichier en plusieurs parties.

``` AL
    page 50100 "Drop Record Link Part PTE"
    {
        PageType = CardPart;
        Caption = 'Add an attachment';
    
        layout
        {
            area(Content)
            {
    
                group(DropArea)
                {
                    ShowCaption = false;
    
                    usercontrol(DropFileArea; "Drop File Area UTCAP")
                    {
                        ApplicationArea = all;
                        trigger ControlAddInReady()
                        var
                            InstructionTxt: Label 'Drop files here.';
                        begin
                            CurrPage.DropFileArea.SetUploadingMode(2 /*StreamContentMultiparts*/);
                            CurrPage.DropFileArea.SetContent(InstructionTxt);
                        end;
    
                        trigger OnFileUploaded(id: Text; FileName: Text; base64Content: Text; eos: Boolean)
                        var
                            Base64Convert: Codeunit "Base64 Convert";
                            SharePointLink: Codeunit "Sharepoint Link MJCAP";
                            TempBlob: Codeunit "Temp Blob";
                            OutStr: OutStream;
                            DocumentStream: InStream;
                        begin
                            if id <> CurrStreamingFileId then begin
                                CurrStreamingFileId := id;
                                Clear(CurrStreamingFileContent);
                            end;
                            CurrStreamingFileContent.Append(base64Content);
    
                            if eos then begin
                                Clear(TempBlob);
                                TempBlob.CreateOutStream(OutStr);
                                Base64Convert.FromBase64(CurrStreamingFileContent.ToText(), OutStr);
                                TempBlob.CreateInStream(DocumentStream);
    
                                //TODO: Save TempBlob somewhere
    
                                Clear(CurrStreamingFileId);
                                Clear(CurrStreamingFileContent);
    
                                CurrPage.Update();
                            end;
                        end;
                    }
    
    
                }
            }
        }
    
        var
            CurrStreamingFileId: Text;
            CurrStreamingFileContent: TextBuilder;
    
    }
```

Methods

SetContent

Définit le contenu du contrôle.

procedure SetContent(content: Text)

Parameters

Name Type Description
content Text

Représentation HTML du contenu du contrôle.

SetUploadingMode

Définit le mode d'upload des fichiers. 0: Filename 1: StreamContent 2 (par défaut) : StreamContentMultiparts

procedure SetUploadingMode(mode: Integer)

Parameters

Name Type Description
mode Integer

FetchClipboardContent

Demande la récupération des données du presse-papier.

procedure FetchClipboardContent()

See also