DelphiFeeds.com

  • Dashboard
  • Popular Stories
  • Trending Stories
  • Feeds
  • Login
Trending now

Quick Logger Is A Powerful Enterprise-Grade Asynchronous Logger For Delphi

Learn How To Use C++ Atomic Operations For Windows Development In C++Builder

Easily Create Ultra-Fast C++ Applications With Low-Level libsimdpp Library In C++Builder

Delphi JOSE JWT Is A Powerful JSON Web Token Library For Delphi

Learn How Not To Use Square Brackets in Your Program In This Learn Delphi Video

Easily Communicate With The TI Gas Sensor Platform Using Delphi And C++ Builder

Powerful Video Game Collection Curation Software Is Built In Delphi

Rise of Legions Multiplayer RPG Windows Game Built In Delphi

Cross-Platform 4D Solar System Simulation Is Built In Delphi

Flexible Cross-Platform Open-Source Component Suite For Delphi FireMonkey

Quickly And Easily Hook Delphi And Windows API Functions With The DDetours Library

Discover How to Use C++ Alias Templates For Windows Development In C++Builder

QuickLib Is A Powerful Third Party Library For Delphi Which Can Boost Productivity

Discover How to Clone The Classic Minesweeper Game in Delphi in This Learn Delphi Video

TMS VCL UI Pack v10.5 released

DataSnap Photo Album Server & Admin Client

1
mathewdelong mathewdelong 8 years ago in Album, Client, DataSnap, Delphi, HTTP, RAD Studio, Server, web, XE2 0

A family member wanted an easy solution for hosting lists of photos locally on their PC which others could see in their web browser if they knew the URL. Requirements were simply that no photos could be stored in any cloud service, the page should have a list of thumbnails which can be viewed all at once and individually zoomed in on, and it should be easy to use and update.

After considering the steps required to install and configure a proper web server on his machine (remotely, from another continent) including server-side scripting plugins, etc… I decided DataSnap was the right tool for the job… no need to use a sledgehammer on a tiny nail.

I got to work, and after an afternoon programming session this was the result:

The server form in action.

The server form in action.

Login panel of client

Login panel of client

Album management from client

Album management from client

The server application is a DataSnap server which handles HTTP requests from a web browser, specifically this URL: http://HOST:8141/ds/rest/TAWMethods/Albums. It also allows for TCP connections, which the client application uses for creating and updating albums. Exposed server methods allow for remote invocation of the required administrative functionalities. (Such as adding an image or deleting one.) The server also allows for setting of an administrative password (authentication manager,) so that not just anyone with your IP and a copy of the client application can modify your album website.

The client application allows for viewing existing albums (including each individual image thumbnail) and adding new albums or photos, adding descriptions to existing photos, or removing photos/albums. It connects to the server using a TCP connection and uses a generated proxy for remotely invoking the server methods.

Here is what the web page looks like in the browser… it is pretty basic. When you click a thumbnail it uses the free ‘Highslide’ JavasSript library to pop up a large version of the image:

Main page, listing all the albums

Main page, listing all the albums

AlbumsPage2

Example album page

AlbumsPage3

Another example album page

This is a pretty basic application, but I think it shows DataSnap’s beautiful simplicity. I built this quickly and to deploy it to my family member’s PC I just gave them the ZIP file and told them to unzip it anywhere they wanted. If you are interested in the source code leave a comment. If I get enough interest, I might throw together another blog post including the source and some more detail.

Download Here

UPDATE:
Softpedia randomly found this application and featured it on their site!: http://www.softpedia.com/get/Multimedia/Graphic/Graphic-Others/Album-Website.shtml

Trending Stories

  • Quick Logger Is A Powerful Enterprise-Grade Asynchronous Logger For Delphi

  • Learn How To Use C++ Atomic Operations For Windows Development...

  • Easily Create Ultra-Fast C++ Applications With Low-Level libsimdpp Library In...

  • Delphi JOSE JWT Is A Powerful JSON Web Token Library...

  • Learn How Not To Use Square Brackets in Your Program...

Embarcadero GetIt

  • ProDelphi 64-bit & 32-bit. Lite version

    Source code profiler for measuring runtime of 64 and 32 bit applications developed with Delphi. […]

  • TChromeTabs

    TChrome tabs is a comprehensive implementation of Google Chrome's tab system - features include - […]

  • ICS for FMX and VCL

    ICS is a Delphi library composed of many internet components supporting all major protocols and […]

  • ICS for VCL

    ICS is a Delphi library composed of many internet components supporting all major protocols and […]

  • SynEdit for VCL

    SynEdit for Delphi and CBuilder. Syntax highlighting edit control, not based on the Windows common […]

  • Learn Delphi
  • Learn C++
  • Embarcadero Blogs
  • BeginEnd.net
  • Python GUI
  • Firebird News
  • Torry’s Delphi Pages
Copyright DelphiFeeds.com 2021. All Rights Reserved
Embarcadero
Login Register

Login

Lost Password

Register

Lost Password