Comhaid a Uaslódáil chuig an Ardán
Tá go leor tascanna riachtanach duit comhad a sholáthar don ardán Legalesign le húsáid, mar shampla comhad le húsáid mar thástáil nó íomhá le húsáid mar shínithe.
Má tá tú ag iarraidh doiciméad tástála a uaslódáil, bain úsáid as an treoir tiomnaithe Upload a File as a Template ina ionad sin. Úsáideann an sreabhadh sin anois an uploadUrl a thugtar ar ais ag createTemplate.
Cad a Mheasfaidh Tú
Treoróidh an treoir seo tú tríd an bpróiseas uaslódála comhad chuig Legalesign. Ná bí buartha más nua thú don APIanna nó stóráil scamall - míneoimid gach céim go soiléir.
Cad é URL Réamh-Shínithe?
Is cosúil le pas rochtana sealadach é URL réamh-shínithe. In ionad rochtain bhuan a thabhairt duit ar ár stóráil, tugaimid URL speisialta duit a:
- Oibríonn ach ar feadh tréimhse ghearr (15 nóiméad)
- Ceadaíonn duit comhad sonrach amháin a uaslódáil
- Coinníonn do chomhaid slán
Smaoinigh air mar thicéad pháirceála valet - cuireann sé rochtain theoranta, sealadach ar fáil chun cuspóir sonrach.
Cad é S3?
Is é S3 (Simple Storage Service) stóráil comhad scamall Amazon. Is é áit a stóráilimid doiciméid, lógónna agus comhaid eile go sábháilte. Ní gá duit S3 a thuiscint go mion - níl le fios agat ach gur áit shlán í chun comhaid a stóráil sa scamall.
Forbhreathnú
Leanann an próiseas uaslódála na céimeanna seo:
- Iarr URL uaslódála réamh-shínithe ó API GraphQL (iarr cead chun uaslódáil a dhéanamh)
- Uaslódáil do chomhad chuig S3 ag úsáid an URL a cuireadh ar fáil (seol an comhad i ndáiríre)
- Próiseálann an t-ardán an comhad go huathoibríoch agus déanann sé bailíochtú air (seiceálann muid go bhfuil sé sábháilte)
- Bogtar an comhad chuig a cheann scríbe deiridh (cuirimid sa cheart áit é)
Cén Fáth an Próiseas Dhá-Chéim Seo?
B’fhéidir go mbíonn suim agat cén fáth nach ligimid duit uaslódáil a dhéanamh go díreach. Tá sé mar gheall ar an bpróiseas dhá chéim seo:
- Cinntíonn sé go bhfuil cead agat uaslódáil a dhéanamh
- Coscann sé uaslódálacha gan údarú
- Tagraíonn sé dúinn an cumas comhaid a scanadh le haghaidh víris
- Coinníonn sé taifead ar cén duine a uaslódáil cad
Céim 1: Iarr URL Uaslódála
Bain úsáid as an gceannach upload chun URL réamh-shínithe a fháil d’uaslódáil comhaid (sa chás seo PDF). Féach ar ár treoir fíordheimhnithe le haghaidh tuilleadh eolais faoin gcéad chéim le ceannaigh GraphQL a rith. Chun sonraí iomlána an argóint a fheiceáil, féach ar an tagairt ceannaigh upload.
query {
upload(
id: "<BASE64_OBJECT_ID>",
uploadType: TEMPLATE,
extension: "pdf"
) {
url
}
}
Míniú ar Pharaiméadair
- id: Aitheantóir ruda i mBase64 (m.sh., ID tástála, ID taithí)
- uploadType: Cineál an chomhaid atá á uaslódáil (féach thíos)
- extension: Síneadh comhaid (pdf, png, jpg)
Cineálacha Uaslódála
TEMPLATE- Comhaid PDF do thástálacha doiciméidLOGO- Íomhánna do bhrandáil leathanach sínitheEMAILLOGO- Íomhánna do bhrandáil ríomhphoistATTACHMENT- Comhaid bhreise le cur ar na doiciméid
Féach an enum UploadType don liosta iomlán.
Céim 2: Uaslódáil chuig S3
Tugann an ceist ar ais URL réamh-shínithe. Seol do chomhad chuig an URL seo ag úsáid iarratas HTTP PUT:
const response = await fetch(url, {
method: 'PUT',
body: fileData,
headers: {
'Content-Type': 'application/pdf' // or appropriate MIME type
}
});
Céim 3: Próiseáil Uathoibríoch
Nuair atá an comhad uaslódáilte, déanann an t-ardán:
- Scanadh an comhad le haghaidh víris agus bagairtí slándála
- Bailíonn sé formáid agus ábhar an chomhaid
- Próiseálann sé an comhad (m.sh., bailíonn sé tomhais leathanach do PDFanna)
- Bogann sé chuig an suíomh stórála deiridh le ceadanna oiriúnacha
Rianú Próiseála i bhFíor-Am
Má tá tú ag iarraidh aiseolas i bhfíor-am tar éis an uaslódáil S3, bain úsáid as síntiúis GraphQL.
- Seoltar imeachtaí uaslódála ar
subscribeUserFeed - Úsáideann siad
category: "upload" - I measc na n-imeachtaí is coitianta tá
uploadScanned,uploadTypeChecked,uploadCompleted, agusuploadFailed
Féach ar Rianáil Dul Chun Cinn Uaslódála le Síntiúis.
Sampla Iomlá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;
}
}
Formáid Cosáin
Leanann comhaid an chaighdeáin ainmniú seo:
<uploadType>/<userId>/<base64ObjectId>.<extension>
Sampla:
template/usr123abc/dHBsYjQ5YTg5NWQtYWRhMy0xMWYwLWIxZGMtMDY5NzZlZmU0MzIx.pdf
Níl ort an cosán seo a chruthú tú féin - déantar é sin go huathoibríoch faoin API nuair a chuireann tú na paraiméadair cheart ar fáil.
Cineálacha Comhad Tacaíochta
Tástálacha
- Comhaid PDF amháin
- Uasmhéid: 50MB
Lógónna agus Lógónna Ríomhphoist
- PNG, JPG, JPEG
- Uasmhéid: 5MB
- Toisí molta: 200x200px (lógónna), 600x200px (lógónna ríomhphoist)
Ceangaltáin
- PDF, DOC, DOCX, XLS, XLSX, PNG, JPG
- Uasmhéid: 25MB
Láimhseáil Earráidí
- Gan cead: Ní leis an gcuntas nó an ghrúpa atá an t-aitheantóir ruda
- Síneadh neamhbhailí: Ní thacaítear leis an gcineál comhaid don chineál uaslódála seo
- Comhad ró-mhór: Sáraíonn sé teorainn mhéid uasta
- Víreas aimsithe: Theip ar scagadh slándála an chomhaid
Nótaí Slándála
- Imíonn URLanna réamh-shínithe tar éis 15 nóiméad
- Scagtar comhaid le haghaidh víris sular próiseáladh iad
- Ní féidir ach le húsáideoirí le ceadanna oiriúnacha comhaid a uaslódáil
- Tá comhaid scoite i gciseán glantacháin le linn próiseála
Cleachtais is Fearr
- Seiceáil i gcónaí méid an chomhaid roimh uaslódáil
- Úsáid an formáid chomhaid cheart
- Déan earráidí a láimhseáil go réidh
- Ná húsáid URLanna réamh-shínithe arís
- Coinnigh do chuid creidiúnaithe slán — ná roinn ticéid fíordheimhnithe riamh ná cuir isteach iad i gcód taobh-cliant