mirror of
https://github.com/marcominerva/SqlDatabaseVectorSearch.git
synced 2026-06-20 12:23:10 +00:00
Add support for DOCX and TXT files, update error handling
Updated README.md to reflect support for PDF, DOCX, and TXT files. Removed commented-out code in DocxContentDecoder.cs. Added TextContentDecoder service in Program.cs and updated exception handling middleware. Updated document upload endpoint description in Program.cs. Modified VectorSearchService to throw NotSupportedException for unsupported content types. Added TextContentDecoder class in TextContentDecoder.cs.
This commit is contained in:
@@ -21,41 +21,5 @@ public class DocxContentDecoder : IContentDecoder
|
||||
}
|
||||
|
||||
return Task.FromResult(content.ToString());
|
||||
|
||||
//foreach (var paragraph in body!.Elements<Paragraph>())
|
||||
//{
|
||||
// foreach (var element in paragraph.Elements())
|
||||
// {
|
||||
// if (element is Run run)
|
||||
// {
|
||||
// DecodeTextFromRun(run);
|
||||
// }
|
||||
// else if (element is Hyperlink hyperlink)
|
||||
// {
|
||||
// foreach (var hyperlinkRun in hyperlink.Elements<Run>())
|
||||
// {
|
||||
// DecodeTextFromRun(hyperlinkRun);
|
||||
// }
|
||||
|
||||
// //var hyperlinkUri = doc.MainDocumentPart.HyperlinkRelationships.FirstOrDefault(r => r.Id == hyperlink.Id)?.Uri;
|
||||
// //if (hyperlinkUri is not null)
|
||||
// //{
|
||||
// // content.Append($" ({hyperlinkUri})");
|
||||
// //}
|
||||
// }
|
||||
// }
|
||||
|
||||
// content.AppendLine(); // Preserve whitespace and blank lines.
|
||||
//}
|
||||
|
||||
//return Task.FromResult(content.ToString());
|
||||
|
||||
//void DecodeTextFromRun(Run run)
|
||||
//{
|
||||
// foreach (var text in run.Elements<Text>())
|
||||
// {
|
||||
// content.Append(text.Text);
|
||||
// }
|
||||
//}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
namespace SqlDatabaseVectorSearch.ContentDecoders;
|
||||
|
||||
public class TextContentDecoder : IContentDecoder
|
||||
{
|
||||
public async Task<string> DecodeAsync(Stream stream, string contentType)
|
||||
{
|
||||
using var readStream = new StreamReader(stream);
|
||||
var content = await readStream.ReadToEndAsync();
|
||||
|
||||
return content;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user