Ich implementiere die React-Version von FineUploader in meiner App, um Dateien in Azure Blob Storage hochzuladen.Hochladen von Dateiinformationen von FineUploader
Sobald ich sicherstelle, dass Dateien hochgeladen werden, muss ich ihre Informationen in meiner Backend-Datenbank speichern. Ich möchte keine Dateiinformationen in meiner Datenbank registrieren, wenn ich nicht weiß, dass sich die Dateien in meinem Blobspeicher befinden. Hier ist die Info, die ich erfassen müssen:
- ursprünglichen Dateinamen
- zugewiesen
blobName
oderuuid
- , wenn ich kann, die Dateigröße Info wäre sehr nützlich, auch, aber es ist kein Muss
Wenn Ich lese gerade die Dokumentation richtig, blobProperties
scheint der richtige Ort für mich zu sein, um diese Informationen zu bekommen, aber bis jetzt war ich nicht in der Lage, dies zur Arbeit zu bringen.
Innerhalb blobProperties
, brauche ich nicht meine Datenbank aufrufen, um einen BlobName zu erhalten. Ein einfacher GUID
Wert, den ich zuweisen kann, ist in Ordnung oder einfach erfassen Sie die uuid
FineUploader zuweisen. Ich möchte nur die Informationen erfassen, die ich brauche, und sie in meinem Redux Store speichern. Diese
ist, wo ich Hilfe brauchen:
const uploader = new FineUploaderAzure({
options: {
blobProperties: function(id) {
// How do I get original file name here?
// If I can, I'd like to get file size as well.
// Once I know file's original name as well as the blobName assigned to it, I'll store them in my Redux store
},
cors: {
expected: true,
sendCredentials: false
},
signature: {
endpoint: 'http://myapp.com/api/getsas'
},
request: {
endpoint: 'https://myaccount.blob.core.windows.net/my-container'
},
callbacks: {
onComplete: function (id, name, responseJSON, xhr) {
myFunction(responseJSON);
}
}
}
})
const myFunction = (responseJSON) => {
// If upload is successful, I'll get file details from Redux store and call my action creators
// to trigger an API call to my backend so that I can register uploaded files in my database.
}
ich einige Hinweise zu schätzen wissen würde, wie die Datei Informationen zu erhalten, die ich suche.
Mein Verständnis ist, dass Sie die JSON-Antwort auf dem Server, so etwas wie dieses bauen: return Json (neu {status = "Erfolg", filename = "MeinDateiname"}); - Wie bauen Sie Ihre Antwort JSON? – Sarhang
Ich lade direkt zu Azure Blob Storage hoch, damit ich nicht auf meinen Server klicke, nachdem die Datei bereits hochgeladen wurde. Die Idee ist, meine Server-Anfrage vorzubereiten, sobald ich 'onComplete' drücke, aber vielleicht folge ich nicht dem vorgeschriebenen Weg. – Sam
Um dies weiter zu verdeutlichen, möchte ich hochgeladene Dateiinformationen erfassen, sobald der Upload abgeschlossen ist, und dann einen API-Aufruf an meinen Server senden, um hochgeladene Dateiinformationen in meiner Backend-Datenbank zu speichern. Ist das nicht der richtige Workflow? – Sam