Database upload service for image files Code
Status: Beta
Brought to you by:
dregula
File | Date | Author | Commit |
---|---|---|---|
CHANGES.txt | 2007-06-23 | dregula | [r4] |
FileCollector.cpp | 2007-06-23 | dregula | [r4] |
FileCollector.h | 2007-06-23 | dregula | [r4] |
FindFilesToUpload.cpp | 2007-06-23 | dregula | [r4] |
FindFilesToUpload.h | 2007-06-18 | dregula | [r3] |
GetLogonParametersDlg.cpp | 2007-06-18 | dregula | [r3] |
GetLogonParametersDlg.h | 2007-06-18 | dregula | [r3] |
INSTALL.txt | 2007-06-18 | dregula | [r3] |
Insert_image_metadata.cpp | 2007-06-18 | dregula | [r3] |
Insert_image_metadata.h | 2007-06-18 | dregula | [r3] |
MSG00409.bin | 2007-06-18 | dregula | [r3] |
README.txt | 2007-06-18 | dregula | [r3] |
Resource.h | 2007-06-18 | dregula | [r3] |
SeqStream.cpp | 2007-06-18 | dregula | [r3] |
SeqStream.h | 2007-06-18 | dregula | [r3] |
TODO.txt | 2007-06-18 | dregula | [r3] |
Update_image.cpp | 2007-06-18 | dregula | [r3] |
Update_image.h | 2007-06-18 | dregula | [r3] |
UploadFile.cpp | 2007-06-23 | dregula | [r4] |
UploadFile.h | 2007-06-23 | dregula | [r4] |
UploadService.cpp | 2007-06-23 | dregula | [r4] |
UploadService.rc | 2007-06-18 | dregula | [r3] |
UploadService.rgs | 2007-06-23 | dregula | [r4] |
UploadService.sln | 2007-06-18 | dregula | [r3] |
UploadService.suo | 2007-06-23 | dregula | [r4] |
UploadService.vcproj | 2007-06-18 | dregula | [r3] |
UploadServiceEventLogMsg.h | 2007-06-18 | dregula | [r3] |
UploadServiceEventLogMsg.mc | 2007-06-18 | dregula | [r3] |
UploadServiceEventLogMsg.rc | 2007-06-18 | dregula | [r3] |
UploadServicePS.vcproj | 2007-06-18 | dregula | [r3] |
UploadServicePS.vcproj.vspscc | 2007-06-23 | dregula | [r4] |
UploadServiceps.def | 2007-06-18 | dregula | [r3] |
Utilities.cpp | 2007-06-18 | dregula | [r3] |
Utilities.h | 2007-06-23 | dregula | [r4] |
_UploadService.idl | 2007-06-18 | dregula | [r3] |
_UploadService.tlb | 2007-06-23 | dregula | [r4] |
dbImageServer.cpp | 2007-06-18 | dregula | [r3] |
dbImageServer.h | 2007-06-23 | dregula | [r4] |
stdafx.cpp | 2007-06-18 | dregula | [r3] |
stdafx.h | 2007-06-18 | dregula | [r3] |
UploadService/README.txt UploadService may be distributed under the license indicated at the source download site: http://UploadService.sourceforge.net UploadService loads binary images from a filesystem into a database. The user must provide a stored procedure, or other data access tool, tailored to their site-specific database architecture (not provided here.) CUploadFile and the (three) database accessors must be revised to match the data access tool(s). The images (binary data files) must be stored in subdirectories under a specified "root" data directory. Each subdirectory must be labelled to uniquely identify a specific (case) accession on the database. (At our site, a stored procedure takes the subdirectory name and attempts a unique match with a case accession.) UploadService looks for a "marker file" [*.NLD] to indicate new "not-loaded" image. The "NLD file" is deleted when the image (and thumbnail) are successfully uploaded to the database. The user application must create an NLD-suffix file with the same filename as any new image (not provided here, see http://specimenphoto.sourceforge.net). UploadService is a ATL7 (Visual Studio) project for Windows2000/XP and higher machines. It builds UploadService.exe which can register, unregister, install, debug, and run an "NT-style" long-running service. The UploadService cycles at a specified interval, generating a new CFileCollector object which does all the work. A database connection is established when UploadService starts. The database initialization information is retained and reused with each new CFileCollector. Each cycle begins with a new database connection. This strategy assumes that new files are infrequently generated and that UploadService can skip cycles if the database is not available. CFileCollector holds two objects: CFindFilesToUpload recursively searchs for marker [NLD] files. CUploadFile finds the corresponding thumbnail and full-sized image files, extracts metadata, and uploads these to the database. CFileCollector and its progeny are destroyed at the end of each recursive search for marker files. A new CFileCollector is created with each cycle.