[HttpGet("GetFileStream/{id}")]
[Produces("application/octet-stream")]
public async Task GetFile(int id)
{
Stream stream = await Services.FileStorage.GetFileStream(id, CurrentUserId);
return stream;
}
public async Task GetFileStream(int id, string currentUserId)
{
FilePath filePath = await GetAsync(id);
if (filePath == null)
{
return null;
}
if (File.Exists(filePath.fileName))
{
StreamContent stream = new StreamContent(File.Open(filePath.fileName, FileMode.Open));
return await stream.ReadAsStreamAsync();
}
return null;
}
< /code>
Die Antwort enthält das erste Stück Bytes, aber mein PDF ist leer und Bilder laden auch nicht richtig. < /p>
const getFile = async (id, fileType) => {
const url = Endpoints.fileStorage.getFile.replace("{id}", id);
const response = await httpService.get(url, {
responseType: 'application/octet-stream'
});
return response;
};
< /code>
Code anzeigen: < /p>
const renderFileContent = () => {
if (!fileContent)
return null;
const { fileData, metaData, extension } = fileContent;
if (filePathId) {
//Stream file
if (extension === "png" || extension === "jpg") {
return (
);
}
else if (extension === "pdf") {
return (
Page {pageNumber} of {numPages}
)
}
}
else return null;
};
< /code>
Mit diesem Code erhalte ich:
WARNUNG: Ungültiger Stream: "Formaterror: Bad FCheck im Flating -Stream: 120, 253" < /p>
Alle Dokumente für Streams in .NET sind für Razer /Blazor. Gibt es eine Möglichkeit, JavaScript zu analysieren? Denn wenn ich die Bytes in eine Base64 in PDF einfüge, bekomme ich 12 leere Seiten als PDF. httpService function. (Ich weiß nicht viel über Blazor)