Μετάβαση στο κύριο περιεχόμενο

Ανεβάστε Αρχεία στην Πλατφόρμα

Πολλές εργασίες απαιτούν να παρέχετε ένα αρχείο για χρήση από την πλατφόρμα Legalesign, όπως ένα αρχείο για χρήση ως πρότυπο ή μια εικόνα για υπογραφή.

Ανεβάσματα Προτύπου

Εάν θέλετε να ανεβάσετε ένα έγγραφο πρότυπο, χρησιμοποιήστε τον αφιερωμένο οδηγό Ανέβασμα Αρχείου ως Πρότυπο. Αυτή η διαδικασία τώρα χρησιμοποιεί το uploadUrl που επιστρέφεται από το createTemplate.

Τι θα Μάθετε

Αυτός ο οδηγός θα σας καθοδηγήσει στο ανέβασμα αρχείων στην Legalesign. Μην ανησυχείτε αν είστε νέοι στα API ή στην αποθήκευση στο cloud - θα εξηγήσουμε κάθε βήμα με σαφήνεια.

Τι είναι ένα Προ-Υπογεγραμμένο URL;

Ένα προ-υπογεγραμμένο URL είναι σαν προσωρινό πάσο πρόσβασης. Αντί να σας δώσουμε μόνιμη πρόσβαση στην αποθήκη μας, σας δίνουμε ένα ειδικό URL που:

  • Λειτουργεί μόνο για σύντομο χρονικό διάστημα (15 λεπτά)
  • Σας επιτρέπει να ανεβάσετε ένα συγκεκριμένο αρχείο
  • Διατηρεί τα αρχεία σας ασφαλή

Σκεφτείτε το σαν εισιτήριο παρκαδόρου - παρέχει προσωρινή, περιορισμένη πρόσβαση για συγκεκριμένο σκοπό.

Τι είναι το S3;

Το S3 (Simple Storage Service) είναι η αποθήκευση αρχείων στο cloud της Amazon. Εδώ αποθηκεύουμε με ασφάλεια τα έγγραφά σας, τα λογότυπα και άλλα αρχεία σας. Δεν χρειάζεται να καταλάβετε λεπτομέρειες για το S3 - απλά γνωρίζετε ότι είναι ένα ασφαλές μέρος για αποθήκευση αρχείων στο cloud.

Επισκόπηση

Η διαδικασία ανέβασματος ακολουθεί αυτά τα βήματα:

  1. Ζητήστε ένα προ-υπογεγραμμένο URL ανέβασματος από το GraphQL API (ζητήστε άδεια για ανέβασμα)
  2. Ανεβάστε το αρχείο σας στο S3 χρησιμοποιώντας το παρεχόμενο URL (πραγματική αποστολή αρχείου)
  3. Η πλατφόρμα επεξεργάζεται και επικυρώνει αυτόματα το αρχείο (ελέγχουμε αν είναι ασφαλές)
  4. Το αρχείο μεταφέρεται στον τελικό προορισμό του (το βάζουμε στο σωστό μέρος)

Γιατί αυτή η Διπλή Διαδικασία;

Ίσως αναρωτιέστε γιατί δεν επιτρέπουμε απευθείας ανέβασμα. Αυτή η διπλή διαδικασία:

  • Διασφαλίζει ότι έχετε άδεια να ανεβάσετε
  • Αποτρέπει μη εξουσιοδοτημένα ανεβάσματα
  • Μας επιτρέπει να σαρώσουμε αρχεία για ιούς
  • Παρακολουθεί ποιος ανέβασε τι

Βήμα 1: Ζητήστε URL Ανέβασματος

Χρησιμοποιήστε το ερώτημα upload για να λάβετε ένα προ-υπογεγραμμένο URL για το ανέβασμα αρχείου σας (στην περίπτωση αυτή PDF). Δείτε τον οδηγό αυθεντικοποίησης για περισσότερες πληροφορίες σχετικά με το πώς να ξεκινήσετε την εκτέλεση ερωτημάτων GraphQL. Για πλήρεις λεπτομέρειες των παραμέτρων, δείτε την αναφορά του ερωτήματος upload.

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

Επεξήγηση Παραμέτρων

  • id: Το αντικείμενο ID κωδικοποιημένο σε Base64 (π.χ. template ID, experience ID)
  • uploadType: Ο τύπος του αρχείου που ανεβαίνει (δείτε παρακάτω)
  • extension: Επέκταση αρχείου (pdf, png, jpg)

Τύποι Ανεβάσματος

  • TEMPLATE - Αρχεία PDF για πρότυπα εγγράφων
  • LOGO - Εικόνες για το branding της σελίδας υπογραφής
  • EMAILLOGO - Εικόνες για το email branding
  • ATTACHMENT - Πρόσθετα αρχεία που επισυνάπτονται σε έγγραφα

Δείτε το enum UploadType για ολόκληρη τη λίστα.

Βήμα 2: Ανέβασμα στο S3

Το ερώτημα επιστρέφει ένα προ-υπογεγραμμένο URL. Στείλτε το αρχείο σας σε αυτό το URL χρησιμοποιώντας HTTP PUT αίτημα:

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

Βήμα 3: Αυτόματη Επεξεργασία

Μόλις ανέβει, η πλατφόρμα:

  1. Σαρώνει το αρχείο για ιούς και απειλές ασφαλείας
  2. Επικυρώνει τη μορφή και το περιεχόμενο του αρχείου
  3. Επεξεργάζεται το αρχείο (π.χ. εξάγει διαστάσεις σελίδας για PDFs)
  4. Το μεταφέρει στον τελικό χώρο αποθήκευσης με τις κατάλληλες άδειες

Παρακολούθηση Επεξεργασίας σε Πραγματικό Χρόνο

Αν χρειάζεστε άμεση ανατροφοδότηση μετά το ανέβασμα στο S3, χρησιμοποιήστε τις συνδρομές GraphQL.

  • Τα γεγονότα ανέβασματος αποστέλλονται μέσω του subscribeUserFeed
  • Χρησιμοποιούν την category: "upload"
  • Τυπικά γεγονότα περιλαμβάνουν uploadScanned, uploadTypeChecked, uploadCompleted, και uploadFailed

Δείτε Παρακολούθηση Προόδου Ανέβασματος με Συνδρομές.

Πλήρες Παράδειγμα

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 };
};

Μορφή Μονοπατιού

Τα αρχεία ακολουθούν αυτή τη συμφωνία ονομασίας:

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

Παράδειγμα:

template/usr123abc/dHBsYjQ5YTg5NWQtYWRhMy0xMWYwLWIxZGMtMDY5NzZlZmU0MzIx.pdf
Σημείωση

Δεν χρειάζεται να δημιουργήσετε εσείς αυτό το μονοπάτι - το API το χειρίζεται αυτόματα όταν παρέχετε τις σωστές παραμέτρους.

Υποστηριζόμενοι Τύποι Αρχείων

Πρότυπα

  • Μόνο αρχεία PDF
  • Μέγιστο μέγεθος: 50MB

Λογότυπα και Λογότυπα Email

  • PNG, JPG, JPEG
  • Μέγιστο μέγεθος: 5MB
  • Συνιστώμενες διαστάσεις: 200x200px (λογότυπα), 600x200px (λογότυπα email)

Επισυναπτόμενα

  • PDF, DOC, DOCX, XLS, XLSX, PNG, JPG
  • Μέγιστο μέγεθος: 25MB

Διαχείριση Σφαλμάτων

  • Χωρίς άδεια: Το ID αντικειμένου δεν ανήκει στον λογαριασμό ή την ομάδα σας
  • Μη έγκυρη επέκταση: Ο τύπος αρχείου δεν υποστηρίζεται για αυτό το ανέβασμα
  • Το αρχείο είναι πολύ μεγάλο: Υπερβαίνει το μέγιστο όριο μεγέθους
  • Ανιχνεύθηκε ιός: Το αρχείο απέτυχε στον έλεγχο ασφαλείας

Σημειώσεις Ασφαλείας

  • Τα προ-υπογεγραμμένα URLs λήγουν μετά από 15 λεπτά
  • Τα αρχεία σαρώνονται για ιούς πριν την επεξεργασία
  • Μόνο χρήστες με κατάλληλες άδειες μπορούν να ανεβάζουν αρχεία
  • Τα αρχεία απομονώνονται κατά την επεξεργασία στον clearing bucket

Βέλτιστες Πρακτικές

  1. Ελέγχετε πάντα το μέγεθος αρχείου πριν το ανέβασμα
  2. Χρησιμοποιείτε το σωστό format αρχείου
  3. Διαχειρίζεστε τα σφάλματα με σύνεση
  4. Μην επαναχρησιμοποιείτε προ-υπογεγραμμένα URLs
  5. Κρατήστε τα διαπιστευτήριά σας ασφαλή — ποτέ μην μοιράζεστε tokens αυθεντικοποίησης ή τα ενσωματώνετε σε client-side κώδικα