put all thing in there now

This commit is contained in:
2025-09-10 16:04:54 +10:00
parent ff45c461a5
commit a6a2154d81
4 changed files with 25 additions and 10 deletions
+14
View File
@@ -11,6 +11,20 @@ COPY . .
WORKDIR "/src/FamilyTreeAPI" WORKDIR "/src/FamilyTreeAPI"
RUN dotnet build "./FamilyTreeAPI.csproj" -c Release -o /app/build RUN dotnet build "./FamilyTreeAPI.csproj" -c Release -o /app/build
# create directory for import folder, and image folder
RUN mkdir /app_import
RUN mkdir /app_images
VOLUME /app_import
VOLUME /app_images
# docker run -v my_path_name_volume_host:/app_import my_image_name
# docker run -v my_path_named_volume_host:/app_images my_image_name
# docker cp /home/user/my_app/config.json my_container:/app/config.json
# docker cp /home/user/my_app/data my_container:/app/data ### copy folder data
# docker cp mycontainer:/app/output.txt /home/user/documents/
# This stage is used to publish the service project to be copied to the final stage # This stage is used to publish the service project to be copied to the final stage
FROM build AS publish FROM build AS publish
+1
View File
@@ -277,6 +277,7 @@ export class FamilyList implements OnInit, OnDestroy{
}, },
header: 'Person', header: 'Person',
width: '80%', width: '80%',
draggable: true,
maximizable: true maximizable: true
}); });
+1 -1
View File
@@ -1,4 +1,4 @@
<img [src]="imageDataUrl" alt="Person Image" width="400" height="300"/> <img [src]="imageDataUrl()" alt="Person Image" width="400" height="300"/>
<div class="flex justify-end"> <div class="flex justify-end">
<button pButton pRipple class="p-button-sm mr-2 p-button-secondary" type="button" icon="pi pi-sign-in" label="Close" <button pButton pRipple class="p-button-sm mr-2 p-button-secondary" type="button" icon="pi pi-sign-in" label="Close"
+9 -9
View File
@@ -1,4 +1,4 @@
import { Component, inject, OnDestroy, OnInit } from '@angular/core'; import { Component, inject, OnDestroy, OnInit, signal } from '@angular/core';
import { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser'; import { DomSanitizer, SafeResourceUrl } from '@angular/platform-browser';
import { AppSettingService } from '../shares'; import { AppSettingService } from '../shares';
import { PersonService } from '../person'; import { PersonService } from '../person';
@@ -17,13 +17,13 @@ import { DynamicDialogConfig, DynamicDialogRef } from 'primeng/dynamicdialog';
export class ImageDisplayComponent implements OnInit, OnDestroy { export class ImageDisplayComponent implements OnInit, OnDestroy {
//base64ImageString: string = 'iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg=='; // Example Base64 (a tiny red dot PNG) //base64ImageString: string = 'iVBORw0KGgoAAAANSUhEUgAAAAUAAAAFCAYAAACNbyblAAAAHElEQQI12P4//8/w38GIAXDIBKE0DHxgljNBAAO9TXL0Y4OHwAAAABJRU5ErkJggg=='; // Example Base64 (a tiny red dot PNG)
//imageDataUrl: SafeResourceUrl ={}; //imageDataUrl: SafeResourceUrl ={};
imageDataUrl = ""; imageDataUrl = signal<string>("");
private personService = inject(PersonService); private personService = inject(PersonService);
private sanitizer = inject(DomSanitizer); private sanitizer = inject(DomSanitizer);
//private route = inject(ActivatedRoute); //private route = inject(ActivatedRoute);
public ref = inject(DynamicDialogRef); public ref = inject(DynamicDialogRef);
public config = inject(DynamicDialogConfig); public config = inject(DynamicDialogConfig);
private subscription:Subscription = new Subscription(); private subscription:Subscription = new Subscription();
ngOnInit(): void { ngOnInit(): void {
@@ -38,7 +38,7 @@ private subscription:Subscription = new Subscription();
if (x.statusCode == 1) if (x.statusCode == 1)
{ {
this.display(x.data); this.display(x.data);
console.log("this is show image" , this.imageDataUrl, x); console.log("this is show image" , this.imageDataUrl(), x);
} }
else else
{ {
@@ -53,7 +53,7 @@ private subscription:Subscription = new Subscription();
const changeUrl = (this.sanitizer.bypassSecurityTrustResourceUrl(baseImage) as any).changingThisBreaksApplicationSecurity; const changeUrl = (this.sanitizer.bypassSecurityTrustResourceUrl(baseImage) as any).changingThisBreaksApplicationSecurity;
console.log('this is bypassSecurityTrustResourceUrl', changeUrl); console.log('this is bypassSecurityTrustResourceUrl', changeUrl);
const fullDataUri = `data:image/png;base64,${changeUrl}`; const fullDataUri = `data:image/png;base64,${changeUrl}`;
this.imageDataUrl = fullDataUri this.imageDataUrl.set(fullDataUri);
} }
ngOnDestroy(): void { ngOnDestroy(): void {
this.subscription.unsubscribe(); this.subscription.unsubscribe();