Neidio i’r prif gynnwys

Llwytho Ffeiliau i'r Llwyfan

Mae llawer o dasgau yn gofyn i chi ddarparu ffeil i'r llwyfan Legalesign ei defnyddio, megis ffeil i’w defnyddio fel templed neu ddelwedd i’w defnyddio ar gyfer llofnod.

Llwytho Templedi

Os ydych am lwytho dogfen dempled, defnyddiwch y canllaw arbennig Llwytho Ffeil Fel Templed yn lle hynny. Mae’r llif hwnnw bellach yn defnyddio’r uploadUrl a ddychwelydwyd gan createTemplate.

Beth Bydda Chi'n Dysgu

Bydd y canllaw hwn yn eich tywys drwy lwytho ffeiliau i Legalesign. Peidiwch â phoeni os ydych newydd i APIau neu storfa cwmwl – esboniwn bob cam yn glir.

Beth yw URL Rhagosodedig

Mae URL rhagosodedig yn debyg i bas mynediad dros dro. Yn lle rhoi mynediad parhaol i’n storfa i chi, rydym yn rhoi URL arbennig sy’n:

  • Gweithio dim ond am gyfnod byr (15 munud)
  • Yn caniatáu i chi lwytho un ffeil benodol yn unig
  • Yn cadw eich ffeiliau yn ddiogel

Meddyliwch amdano fel tocyn parcio valet - mae’n rhoi mynediad dros dro, cyfyngedig at bwrpas penodol.

Beth yw S3?

Mae S3 (Gwasanaeth Storio Syml) yn storfa ffeil ar y cwmwl gan Amazon. Dyma lle rydym yn storio eich dogfennau, logos, a ffeiliau eraill yn ddiogel. Nid oes angen i chi ddeall S3 yn fanwl – dim ond gwybod ei fod yn fan diogel i storio ffeiliau yn y cwmwl.

Trosolwg

Mae’r broses lwytho yn dilyn y camau hyn:

  1. Gofyn am URL llofnod rhagosodedig gan y GraphQL API (gwneud cais am ganiatâd i lwytho)
  2. Llwytho eich ffeil i S3 gan ddefnyddio’r URL a ddarparwyd (anfon y ffeil mewn gwirionedd)
  3. Mae’r llwyfan yn prosesu yn awtomatig ac yn dilysu’r ffeil (rydym yn gwirio ei bod yn ddiogel)
  4. Symudir y ffeil i’w man cyrchfan terfynol (rydym yn ei roi yn y lle cywir)

Pam y Broses Dau-Gam Hon?

Efallai’ch bod yn pendroni pam nad ydym yn caniatáu i chi lwytho yn uniongyrchol. Mae’r broses dau-gam hon yn:

  • Sicrhau eich bod wedi cael caniatâd i lwytho
  • Atal lwytho ffeiliau di-gymeradwyaeth
  • Caniatáu i ni sganio ffeiliau am firysau
  • Cadw olrhain o bwy wnaeth lwytho beth

Cam 1: Gofyn am URL Llwytho

Defnyddiwch y cwestiwn upload i gael URL llofnod rhagosodedig ar gyfer eich llwytho ffeil (yn yr achos hwn PDF). Edrychwch ar ein canllaw dilysu am fwy o wybodaeth ar sut i ddechrau rhedeg ymholiadau GraphQL. Am fanylion llawn am y dadleuon, gweld y cyfeirnod cwestiwn upload.

query {
upload(
id: "<BASE64_OBJECT_ID>",
uploadType: TEMPLATE,
extension: "pdf"
) {
url
}
}

Esboniwyd Paramedrau

  • id: ID gwrthrych wedi’i amgodio mewn Base64 (e.e., ID templed, ID profiad)
  • uploadType: Y math o ffeil sy’n cael ei lwytho i fyny (gweler isod)
  • extension: Estyniad y ffeil (pdf, png, jpg)

Mathau o Lwytho

  • TEMPLATE - Ffeiliau PDF ar gyfer templedi dogfennau
  • LOGO - Delweddau ar gyfer brandio tudalen llofnodi
  • EMAILLOGO - Delweddau ar gyfer brandio e-bost
  • ATTACHMENT - Ffeiliau ychwanegol i’w hatodi at ddogfennau

Gweler UploadType enum am y rhestr lawn.

Cam 2: Llwytho i S3

Mae’r cwestiwn yn dychwelyd URL llofnod rhagosodedig. Anfonwch eich ffeil i’r URL hwn gan ddefnyddio cais HTTP PUT:

const response = await fetch(url, {
method: 'PUT',
body: fileData,
headers: {
'Content-Type': 'application/pdf' // or appropriate MIME type
}
});

Cam 3: Prosesu Awtomatig

Unwaith y bydd y ffeil wedi ei lwytho, mae’r llwyfan yn:

  1. Sganio’r ffeil am firysau a bygythiadau diogelwch
  2. Dilysu fformat a chynnwys y ffeil
  3. Prosesu’r ffeil (e.e., tynnu dimensiynau tudalen ar gyfer PDFs)
  4. Ei symud i’r lleoliad storio terfynol gyda’r caniatadau priodol

Olrhain Prosesu mewn Amser Real

Os oes angen adborth amser real arnoch ar ôl cwblhau’r llwytho i S3, defnyddiwch danysgrifiadau GraphQL.

  • Caiff digwyddiadau llwytho eu danfon ar subscribeUserFeed
  • Maent yn defnyddio category: "upload"
  • Digwyddiadau cyffredin yw uploadScanned, uploadTypeChecked, uploadCompleted, a uploadFailed

Gweler Olrhain Cynnydd Llwytho gyda Thanysgrifiadau.

Enghraifft Gyntaf

import { generateClient } from 'aws-amplify/api';

const uploadFile = async (objectId, file) => {
const client = generateClient();
const extension = file.name.split('.').pop();

// Step 1: Get upload URL
const result = await client.graphql({
query: `
query {
upload(
id: "${objectId}",
uploadType: TEMPLATE,
extension: "${extension}"
) {
url
}
}
`
});

const uploadUrl = result.data.upload.url;

// Step 2: Upload file
const response = await fetch(uploadUrl, {
method: 'PUT',
body: file,
headers: {
'Content-Type': file.type
}
});

if (!response.ok) {
throw new Error('Upload failed');
}

return { success: true };
};

Fformat Llwybr

Mae ffeiliau yn dilyn y traddodiad enwi hwn:

<uploadType>/<userId>/<base64ObjectId>.<extension>

Enghraifft:

template/usr123abc/dHBsYjQ5YTg5NWQtYWRhMy0xMWYwLWIxZGMtMDY5NzZlZmU0MzIx.pdf
nodyn

Nid oes angen i chi greu’r llwybr hwn eich hun - mae’r API yn ei ddelio’n awtomatig pan fyddwch yn darparu’r paramedrau cywir.

Mathau o Ffeiliau sy'n cael eu Cefnogi

Templedi

  • Ffeiliau PDF yn unig
  • Maint uchaf: 50MB

Logos a Logos E-bost

  • PNG, JPG, JPEG
  • Maint uchaf: 5MB
  • Dimensiynau argymelledig: 200x200px (logos), 600x200px (logos e-bost)

Atodiadau

  • PDF, DOC, DOCX, XLS, XLSX, PNG, JPG
  • Maint uchaf: 25MB

Delio ag Gwallau

  • Dim caniatâd: Nid yw’r ID gwrthrych yn perthyn i’ch cyfrif neu grŵp
  • Estyniad annilys: Math y ffeil ddim yn cael ei gefnogi ar gyfer y math hwn o lwytho
  • Ffeil yn rhy fawr: Yn troseddio ar y terfyn maint uchaf
  • Firws wedi’i ganfod: Wedi methu sgan diogelwch

Nodiadau Diogelwch

  • Bydd URLau llofnod rhagosodedig yn dod i ben ar ôl 15 munud
  • Mae ffeiliau yn cael eu sganio am firysau cyn prosesu
  • Dim ond defnyddwyr gyda’r caniatadau priodol all lwytho ffeiliau
  • Mae ffeiliau’n cael eu cadw ar wahân yn ystod prosesu yn y fag codi clirio

Ymarferion Gorau

  1. Gwirio maint y ffeil bob amser cyn llwytho i fyny
  2. Defnyddio’r fformat ffeil cywir
  3. Delio â gwallau yn derbyniol
  4. Peidiwch â defnyddio URLau llofnod rhagosodedig unwaith eto
  5. Cadw eich cymwysterau’n ddiogel — peidiwch byth â rhannu tocynnau dilysu nac yn eu mewnosod yn y cod ar ochr y cleient