Contract Signing and contract printing
This commit is contained in:
@@ -116,3 +116,28 @@ export class CrudService extends ApiService {
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@Injectable()
|
||||
export class ImageUploaderCrudService extends CrudService {
|
||||
public upload(resource: string, signature_id: string, image: string) {
|
||||
const formData: FormData = new FormData();
|
||||
formData.append("signature_file", dataURIToBlob(image), signature_id + ".png");
|
||||
|
||||
return this.http.post<{ menu: [{}] }>(
|
||||
`${this.api_root}/${resource.toLowerCase()}/${signature_id}`,
|
||||
formData
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
function dataURIToBlob(dataURI: string) {
|
||||
const splitDataURI = dataURI.split(',')
|
||||
const byteString = splitDataURI[0].indexOf('base64') >= 0 ? atob(splitDataURI[1]) : decodeURI(splitDataURI[1])
|
||||
const mimeString = splitDataURI[0].split(':')[1].split(';')[0]
|
||||
|
||||
const ia = new Uint8Array(byteString.length)
|
||||
for (let i = 0; i < byteString.length; i++)
|
||||
ia[i] = byteString.charCodeAt(i)
|
||||
|
||||
return new Blob([ia], { type: mimeString })
|
||||
}
|
||||
Reference in New Issue
Block a user