How to deal with Blob Storage in Business Central

Поделиться
HTML-код
  • Опубликовано: 19 сен 2024

Комментарии • 36

  • @nemanjavelickovic9062
    @nemanjavelickovic9062 10 месяцев назад

    Low-key humor and deep insights into history and development of Business Central. I absolutely recommend this playlist of videos for everybody that wants to have deep insight into functionality of Business Central.
    Thank you, Erik, you are the best!

  • @ibrahiemrasoelbaks5124
    @ibrahiemrasoelbaks5124 4 года назад

    Thank you Erik. When working with webservices blobs are an essential aspect. Really useful how-to. Keep up the great work!

  • @bjarkihall2876
    @bjarkihall2876 4 года назад +1

    Thanks for the overview! You mentioned sending/receiving the blobs via web services - I think that would be nice to get a demo on.
    ControlAddins can only send/receive "serializable" variables, that is, non-complex types like Text, Int, Boolean, and even JsonObject/JsonArray, but not Dictionary/List - Dictionaries/Lists aren't even valid return types in procedures, which surprised me even more, but there are more complex types that behave in this weird way. There's therefor no way of sharing a blob back and forth with JavaScript in that session. :/
    Unbound Actions can only send/receive simple types like Text (not types like JsonObject or Dictionary or Blob streams).
    It seems like we can't share large data in a GUI session without chunking it into smaller Text based requests and it seems like WebService sessions always need a bound entity with a Blob field and a trigger to receive data and perform some additional logic.
    It sounds like you had some more insight on this area so I'd be glad to hear more about it. :)

    • @Hougaard
      @Hougaard  4 года назад +3

      I have a video planned that's going to feed blobs to user controls, stay tuned ;)

  • @YannSaintLaurent
    @YannSaintLaurent 4 года назад

    Thanks Erik, another great video.
    Wondering, what is the difference between using the persistent storage or just having a blob field on my table... I’ve been using the ladder.

    • @Hougaard
      @Hougaard  4 года назад

      You're doing it right :)

  • @stefantomasevic23
    @stefantomasevic23 4 года назад

    Things that I didn't like when microsoft introduce Blob Storage module (and mark TempBlob table for removal) is that we lost Codeunit.Run(TempBlob) and a lot of usefull functions from TempBlob table (ReadAs..., WriteAsXml..), and we used this widely, so we decided to switch to Name Value Buffer table, similar like TempBlob, mostly used like temp, and has Value Blob field, but also needed to implement many functions that we had in TempBlob.

    • @Hougaard
      @Hougaard  4 года назад +1

      How about submitting a pull request for Blob Storage? ruclips.net/video/3Q9ikdBYJvQ/видео.html

  • @sangitpanchal610
    @sangitpanchal610 4 года назад +1

    Thanks, Keep teaching us :D
    Also Can you please make video on SOAP web services?

    • @Hougaard
      @Hougaard  4 года назад

      What's your client environment? (C# ?)

  • @rainerbay425
    @rainerbay425 2 года назад

    Hi Eric, did you create a video about storing a PDF document on a Web Service Page. As example having af list Page of posted sales invoices in which there is a BLOB field with PDF of the posted invoice.

    • @Hougaard
      @Hougaard  2 года назад

      Nope, haven't done videos about that. It's compilcated because you cannot change the Content-Type of a webservice, so blob has to be baase64 encoded and stored in either json or soap.

    • @rainerbay425
      @rainerbay425 2 года назад

      @@Hougaard Hi Erik, can you create example for me (and others) because one client has this need. It is BC version 14 OnPrem.

  • @greatscott000
    @greatscott000 4 года назад

    I noticed you seem to have an VS Code addin that shows LOC and Comments in the status bar. Which addin is that?

    • @Hougaard
      @Hougaard  4 года назад

      This one: marketplace.visualstudio.com/items?itemName=lyzerk.linecounter

  • @rubenmiranda792
    @rubenmiranda792 4 года назад

    Thank you for your videos Erik. In both cases (PersistentBlob and TempBlob) you first save the image to the "Memory Blob" and then you export it from there and import into the "Field blob". Can you save it to the "Field Blob" directly?

    • @Hougaard
      @Hougaard  4 года назад +1

      Yes, but that would defeat the purpose of the video :) :) :)

    • @rubenmiranda792
      @rubenmiranda792 4 года назад

      @@Hougaard I've supposed that. Thank you! :)

  • @hugo_alves
    @hugo_alves 2 года назад

    Hi Erik, thanks for the video.
    I forked your repo to play with it and got build error on "Temp Blob" and "Base64 Convert" CodeUnits, how should i proceed to get it?

    • @Hougaard
      @Hougaard  2 года назад

      Have you downloaded symbols?

    • @hugo_alves
      @hugo_alves 2 года назад

      @@Hougaard oh, i was missing this. Now it worked, thanks!

  • @stefantomasevic23
    @stefantomasevic23 4 года назад

    Did you have a situation when you want to silently upload file (without showing dialog box) on web client? And how did you manage that?

    • @Hougaard
      @Hougaard  4 года назад

      So silently grab a random file from the client? That's not allowed for web browsers.

    • @jespernielsen3625
      @jespernielsen3625 Год назад

      @@Hougaard Is it allowed when running On-Premises to grab a file silently from the BC server? In TempBlob Record, there was a Blob.Import function to handle that. Is that possible when running Web client On-Premsies?

  • @wasiuibrahim3301
    @wasiuibrahim3301 2 года назад

    Thank for video. But how can I prevent the blob field size to 40kb

    • @Hougaard
      @Hougaard  2 года назад

      You can see the size of a TempBlob codeunit...

  • @RaiBilalHaider
    @RaiBilalHaider 3 года назад

    Hi Erik, Any hint on how to get Danish characters correctly to Business Central SaaS tables from a text file that have ANSI encoding.

    • @Hougaard
      @Hougaard  3 года назад

      You gotta use TextEncoding::Windows on a stream.

    • @RaiBilalHaider
      @RaiBilalHaider 3 года назад

      @@Hougaard thanks. But TextEncoding::Windows does not work on BC SaaS version

    • @Hougaard
      @Hougaard  3 года назад +1

      @@RaiBilalHaider Yes it does!

    • @RaiBilalHaider
      @RaiBilalHaider 3 года назад

      @@Hougaard okay if you are saying then it should work. I will try again, may be something I am missing.

  • @mauriciovillatoro9361
    @mauriciovillatoro9361 2 года назад

    Nice job Erik. Is there any way to preview PDF files on Business Central without download the file? Thanks

    • @Hougaard
      @Hougaard  2 года назад

      Check AJ Kaufmann's blog, he has an example of that.

    • @mauriciovillatoro9361
      @mauriciovillatoro9361 2 года назад

      @@Hougaard Thanks. Looks like it will not be a easy task.

  • @hansdutting3438
    @hansdutting3438 Год назад

    nice Commodore 64 in the back

    • @Hougaard
      @Hougaard  Год назад

      Good eyes my friend.... The most visible is actually a VIC-20, sitting on top of a c64c and then there's a breadbin c64 behind the books