Hey, I have to face that error too much time, When I have uploaded the file and did some editing. Then click the save button. at that time the error message appears.
image.png (22.8 KB)
image.png (60.1 KB)
CODE:
[HttpPost]
[Route("annotate")]
public HttpResponseMessage AnnotateAsync(AnnotationPostedDataEntity annotateDocumentRequest)
{
AnnotatedDocumentEntity annotatedDocument = new AnnotatedDocumentEntity();
try
{
// get/set parameters
string documentGuid = annotateDocumentRequest.guid;
string password = annotateDocumentRequest.password;
string documentType = SupportedImageFormats.Contains(Path.GetExtension(annotateDocumentRequest.guid)) ? "image" : annotateDocumentRequest.documentType;
string tempPath = GetTempPath(documentGuid);
AnnotationDataEntity[] annotationsData = annotateDocumentRequest.annotationsData;
// initiate list of annotations to add
List<AnnotationBase> annotations = new List<AnnotationBase>();
using (GroupDocs.Annotation.Annotator annotator = new GroupDocs.Annotation.Annotator(documentGuid, GetLoadOptions(password)))
{
IDocumentInfo info = annotator.Document.GetDocumentInfo();
for (int i = 0; i < annotationsData.Length; i++)
{
AnnotationDataEntity annotationData = annotationsData[i];
PageInfo pageInfo = info.PagesInfo[annotationsData[i].pageNumber - 1];
// add annotation, if current annotation type isn't supported by the current document type it will be ignored
try
{
BaseAnnotator baseAnnotator = AnnotatorFactory.createAnnotator(annotationData, pageInfo);
if (baseAnnotator.IsSupported(documentType))
{
annotations.Add(baseAnnotator.GetAnnotationBase(documentType));
}
}
catch (Exception ex)
{
throw new GroupDocs.Annotation.Exceptions.AnnotatorException(ex.Message, ex);
}
}
}
// Add annotation to the document
RemoveAnnotations(documentGuid, password);
// check if annotations array contains at least one annotation to add
if (annotations.Count != 0)
{
using (GroupDocs.Annotation.Annotator annotator = new GroupDocs.Annotation.Annotator(documentGuid, GetLoadOptions(password)))
{
foreach (var annotation in annotations)
{
annotator.Add(annotation);
}
annotator.Save(tempPath);
}
if (File.Exists(documentGuid))
{
File.Delete(documentGuid);
}
File.Move(tempPath, documentGuid);
}
annotatedDocument = new AnnotatedDocumentEntity();
annotatedDocument.guid = documentGuid;
annotatedDocument.fileByte = File.ReadAllBytes(documentGuid);
if (annotateDocumentRequest.print)
{
annotatedDocument.pages = GetAnnotatedPagesForPrint(password, documentGuid);
File.Move(documentGuid, annotateDocumentRequest.guid);
}
}
catch (Exception ex)
{
// set exception message
return Request.CreateResponse(HttpStatusCode.InternalServerError, new Ultrabot.Web.UI.Annotation.Common.Resources.Resources().GenerateException(ex));
}
return Request.CreateResponse(HttpStatusCode.OK, annotatedDocument);
}