Luchdaich suas faidhlichean chun an àrd-ùrlar
Bidh mòran ghnìomhachdan a’ feumachdainn ort faidhle a thoirt seachad airson a chleachdadh leis a’ àrd-ùrlar Legalesign, leithid faidhle airson a chleachdadh mar thàmh no ìomhaigh airson soidhne.
Ma tha thu airson sgrìobhainn teamplaid a luchdachadh suas, cleachd an treòrachadh sònraichte Upload a File as a Template an àite sin. Tha an sruth sin a-nis a’ cleachdadh an uploadUrl a thig air ais bho createTemplate.
Dè Tha Thu Gad Ionnsachadh
Bheir an treòrachadh seo dhut ceum air cheum tron phròiseas luchdachadh suas faidhlichean gu Legalesign. Na gabh dragh mura h-eil thu eòlach air APIs no stòradh sgòthan - mìnichidh sinn gach ceum gu soilleir.
Dè tha ann an URL ro-shoidhnichte?
Is e URL ro-shoidhnichte rudeigin coltach ri cead-inntrig sealach. An àite a bhith a’ toirt cead maireannach dhut air an t-stòradh againn, bheir sinn URL sònraichte dhut a tha:
- Dòcha ag obair airson ùine ghoirid (15 mionaid)
- A’ ceadachadh dhut dìreach aon fhaidhle shònraichte a luchdachadh suas
- A’ cumail do fhaidhlichean tèarainte
Smaoinich air mar thicead pàircidh valet - tha e a’ toirt cead sealach, cuingealaichte airson adhbhar sònraichte.
Dè tha ann an S3?
'S e S3 (Simple Storage Service) seirbheis stòraidh faidhlichean sgòthan Amazon. Seo far am bi sinn a’ stòradh do sgrìobhainnean, suaicheantasan agus faidhlichean eile gu tèarainte. Chan fheum thu tuigse mionaideach a bhith agad air S3 - dìreach fios a bhith agad gur e àite tèarainte ann an sgòth a th’ ann airson faidhlichean a stòradh.
Sealladh Coitcheann
Tha am pròiseas luchdachadh suas a’ leantainn nan ceumannan seo:
- Iarr URL luchdachaidh ro-shoidhnichte bhon API GraphQL (faigh cead airson luchdachadh suas)
- Luchdaich do fhaidhle suas gu S3 a’ cleachdadh an URL a fhuair thu (cur is às a’ fhaidhle gu fìrinneach)
- Feumar am faidhle a phròiseas gu fèin-obrachail agus a sgrùdadh air a’ bhun-structar (dèan cinnteach gu bheil e sàbhailte)
- Gluais am faidhle dhan àite mu dheireadh (cuir ann an àite freagarrach e)
Carson a tha am pròiseas dà-cheum seo?
Is dòcha gu bheil thu a’ faighneachd carson nach leig sinn leat dìreach luchdachadh suas gu dìreach. Tha am pròiseas dà-cheum seo:
- A’ dèanamh cinnteach gu bheil cead agad airson luchdachadh suas
- A’ cur casg air luchdachadh suas gun chead
- A’ toirt cothrom dhuinn sganadh a dhèanamh airson bhìorasan
- A’ cumail aithne air cò a luchdich dè
Ceum 1: Iarr URL Luchdachaidh
Cleachd an sgrùdadh upload gus URL ro-shoidhnichte fhaighinn airson luchdachadh suas do fhhaidhle (anns a’ chùis seo PDF). Faic an treòrachadh dearbhaidh airson barrachd fiosrachaidh air mar a thòisicheas tu air sgrùdaidhean GraphQL a ruith. Airson mion-fhiosrachadh mu na paramadairean, faic an t-ainm-sgrìobhaidh sgrùdaidh upload.
query {
upload(
id: "<BASE64_OBJECT_ID>",
uploadType: TEMPLATE,
extension: "pdf"
) {
url
}
}
Mìneachadh nam Paramadairean
- id: ID nì air a chòdachadh ann an Base64 (m.e. ID teamplaid, ID eòlas)
- uploadType: Seòrsa an fhaidhle a tha thu a’ luchdachadh suas (faic gu h-ìosal)
- extension: Leudachadh faidhle (pdf, png, jpg)
Seòrsaichean Luchdachaidh
TEMPLATE- Faidhlichean PDF airson teamplaidean sgrìobhainneanLOGO- Ìomhaighean airson suaicheantas duilleag soidhnidhEMAILLOGO- Ìomhaighean airson suaicheantas puist-dATTACHMENT- Faidhlichean a bharrachd ri cheangal ri sgrìobhainnean
Faic an liosta iomlan anns an UploadType enum.
Ceum 2: Luchdaich suas gu S3
Tha an sgrùdadh a’ toirt air ais URL ro-shoidhnichte. Cuir do fhaidhle chun an URL seo a’ cleachdadh iarraidh HTTP PUT:
const response = await fetch(url, {
method: 'PUT',
body: fileData,
headers: {
'Content-Type': 'application/pdf' // or appropriate MIME type
}
});
Ceum 3: Pròiseasadh Fèin-ghluasadach
Nuair a bhios am faidhle air a luchdachadh suas, bidh an àrd-ùrlar:
- A’ sganadh am faidhle airson bhìorasan agus cunnartan tèarainteachd
- A’ dearbhadh cruth is susbaint am fhaidhle
- A’ pròiseasadh am faidhle (m.e. a’ glacadh tomhasan duilleag airson PDFan)
- A’ gluasad e chun àite stòraidh mu dheireadh leis na ceadan iomchaidh
Cum Sùil air a’ Phroses ann an Dàta Fìor-ùine
Ma dh’fheumas tu fiosrachadh fìor-ùine às dèidh dhut luchdachadh suas gu S3 a chrìochnachadh, cleachd fo-sgrìobhaidhean GraphQL.
- Tha tachartasan luchdachaidh air an lìbhrigeadh air
subscribeUserFeed - Bidh iad a’ cleachdadh
category: "upload" - Tha tachartasan àbhaisteach a’ gabhail a-steach
uploadScanned,uploadTypeChecked,uploadCompleted, agusuploadFailed
Faic Track Upload Progress with Subscriptions.
Eisimpleir Làn
- JavaScript
- Python
- C#
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 };
};
import requests
from gql import gql, Client
from gql.transport.requests import RequestsHTTPTransport
def upload_file(graphql_endpoint, auth_token, object_id, file_path):
extension = file_path.split('.')[-1]
transport = RequestsHTTPTransport(
url=graphql_endpoint,
headers={'Authorization': auth_token}
)
client = Client(transport=transport, fetch_schema_from_transport=True)
query = gql(f'''
query {{
upload(
id: "{object_id}",
uploadType: TEMPLATE,
extension: "{extension}"
) {{
url
}}
}}
''')
result = client.execute(query)
upload_url = result['upload']['url']
with open(file_path, 'rb') as f:
file_data = f.read()
response = requests.put(
upload_url,
data=file_data,
headers={'Content-Type': 'application/pdf'}
)
if response.status_code != 200:
raise Exception('Upload failed')
return {'success': True}
using System;
using System.IO;
using System.Net.Http;
using System.Text;
using System.Threading.Tasks;
using GraphQL;
using GraphQL.Client.Http;
using GraphQL.Client.Serializer.Newtonsoft;
public class FileUploader
{
public async Task<bool> UploadFile(string graphqlEndpoint, string authToken,
string objectId, string filePath)
{
var extension = Path.GetExtension(filePath).TrimStart('.');
var graphQLClient = new GraphQLHttpClient(
graphqlEndpoint,
new NewtonsoftJsonSerializer()
);
graphQLClient.HttpClient.DefaultRequestHeaders.Add("Authorization", authToken);
var query = new GraphQLRequest
{
Query = $@"
query {{
upload(
id: ""{objectId}"",
uploadType: TEMPLATE,
extension: ""{extension}""
) {{
url
}}
}}
"
};
var response = await graphQLClient.SendQueryAsync<dynamic>(query);
string uploadUrl = response.Data.upload.url;
using var httpClient = new HttpClient();
var fileBytes = await File.ReadAllBytesAsync(filePath);
var content = new ByteArrayContent(fileBytes);
content.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("application/pdf");
var uploadResponse = await httpClient.PutAsync(uploadUrl, content);
if (!uploadResponse.IsSuccessStatusCode)
{
throw new Exception("Upload failed");
}
return true;
}
}
Cruth Slighean
Tha faidhlichean a’ leantainn an àithne ainm seo:
<uploadType>/<userId>/<base64ObjectId>.<extension>
Eisimpleir:
template/usr123abc/dHBsYjQ5YTg5NWQtYWRhMy0xMWYwLWIxZGMtMDY5NzZlZmU0MzIx.pdf
Chan fheum thu an t-slighe seo a chruthachadh leat fhèin - bidh an API a’ dèiligeadh rithe gu fèin-obrachail nuair a bheir thu seachad na paramadairean ceart.
Seòrsaichean Faidhle Taiceil
Teamplaidean
- Faidhlichean PDF a-mhàin
- Meud as àirde: 50MB
Suaicheantasan agus Suaicheantasan Puist-d
- PNG, JPG, JPEG
- Meud as àirde: 5MB
- Meudan mholta: 200x200px (suaicheantasan), 600x200px (suaicheantasan puist-d)
Ceanglaichean
- PDF, DOC, DOCX, XLS, XLSX, PNG, JPG
- Meud as àirde: 25MB
Làimhseachadh Mì-chruthachaidhean
- Gun chead: Chan eil ID an nì aig do chunntas no buidheann
- Leudachadh neo-dhligheach: Chan eil an seòrsa faidhle air a thoirt taic ris airson an seòrsa luchdachaidh seo
- Faidhle ro mhòr: Tha an suidheachadh foirfe meud air a phasgadh
- Bhioras air a lorg: Cha do chuir am faidhle seachad an t-sgan tèarainteachd
Nòtaichean Tèarainteachd
- Tha ùine crìochnachaidh aig URLan ro-shoidhnichte às dèidh 15 mionaid
- Tha faidhlichean air an sganadh airson bhìorasan mus tèid an pròiseasadh
- Chan urrainn ach luchd-cleachdaidh le ceadan iomchaidh luchdachadh suas a dhèanamh
- Tha faidhlichean air an sgaradh rè pròiseasadh ann am bùth-taic soilleireachaidh
Cleachdaidhean as Fheàrr
- Dèan cinnteach air meud an fhaidhle mus cuir thu suas e an-còmhnaidh
- Cuir an cruth faidhle ceart an sàs
- Làimhseachadh mhearachdan gu gràdhach
- Na cleachd URLan ro-shoidhnichte a-rithist
- Cùm do shaidhichean tèarainte — na roinn thocaidean dearbhaidh no cuir orra anns a’ chòd air taobh an neach-cleachdaidh