MIME type of the document being uploaded.
public string MimeType { get; set; }
public:
property String^ MimeType
{
String^ get()
void set(String^ value)
}
MimeType # get and set (UploadDocumentOptions)
The MIME type of the document being uploaded if known. The default value is null.
This value is optional and setting it depends on the application's requirement.
It is recommended to provide the value of MimeType while uploading the document. This will ensure that MIME type whitelisting is performed prior to reading any document data. Refer to DocumentFactory.MimeTypes for more information.
This value is just a hint for the factory when it first tries to load the document. If the value of MimeType is null or a wrong value, then it will be overridden by the factory and the real mime type obtained from the document data is set in LEADDocument.MimeType.
Note that the original value set here in MimeType will be returned by DocumentFactory.GetDocumentCacheInfo if called prior to the factory loading the document.
using Leadtools;
using Leadtools.Caching;
using Leadtools.Document;
public void DocumentFactoryBeginUploadExample()
{
var cache = GetCache();
// Upload the document in 32K chunks
const int bufferSize = 1024 * 32;
var buffer = new byte[bufferSize];
var fileName = Path.Combine(LEAD_VARS.ImagesDir, "Leadtools.pdf");
Uri uploadUri = null;
using (var reader = File.OpenRead(fileName))
{
// Start uploading
var uploadOptions = new UploadDocumentOptions();
uploadOptions.Cache = cache;
// Optional: set the mime type of the document we are uploading.
// If this value is not provided or is wrong then it will be overridden by the factory when LoadFromUri is called.
uploadOptions.MimeType = "application/pdf";
// Optional: set the name of the document, the same name as the file.
// This value is only important as a hint when the document file data does not contain a valid signature, such as TXT or XML files
uploadOptions.Name = "Leadtools.pdf";
uploadOptions.CachePolicy = new CacheItemPolicy();
uploadOptions.DocumentId = null;
uploadOptions.PageCount = 0;
uploadUri = DocumentFactory.BeginUpload(uploadOptions);
int bytes;
do
{
bytes = reader.Read(buffer, 0, bufferSize);
if (bytes > 0)
{
// Upload a chunk
DocumentFactory.UploadDocument(cache, uploadUri, buffer, 0, bytes);
// Upload annotations
DocumentFactory.UploadAnnotations(cache, uploadUri, buffer, 0, bytes);
}
}
while (bytes > 0);
}
// We are done, this method is optional, we can call LoadFromUri right now
DocumentFactory.EndUpload(cache, uploadUri);
DocumentFactory.AbortUploadDocument(uploadUri);
// Now load the document
var options = new LoadDocumentOptions();
options.Cache = cache;
using (var document = DocumentFactory.LoadFromUri(uploadUri, options))
{
PrintOutDocumentInfo(document);
}
}
static class LEAD_VARS
{
public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images";
}
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.Calendar;
import org.junit.*;
import org.junit.runner.JUnitCore;
import org.junit.runner.Result;
import org.junit.runner.notification.Failure;
import static org.junit.Assert.*;
import leadtools.*;
import leadtools.caching.*;
import leadtools.document.*;
public void documentFactoryBeginUploadExample() throws IOException {
final String LEAD_VARS_IMAGES_DIR = "C:\\LEADTOOLS23\\Resources\\Images";
FileCache cache = getCache();
// Upload the document in 32K chunks
final int bufferSize = 1024 * 32;
byte[] buffer = new byte[bufferSize];
String fileName = combine(LEAD_VARS_IMAGES_DIR, "Leadtools.pdf");
URI uploadUri = null;
InputStream inputStream = new FileInputStream(fileName);
LeadStream reader = new LeadStream(inputStream, false);
// Start uploading
UploadDocumentOptions uploadOptions = new UploadDocumentOptions();
uploadOptions.setCache(cache);
// Optional: set the mime type of the document we are uploading.
// If this value is not provided or is wrong then it will be overridden by the
// factory when LoadFromUri is called.
uploadOptions.setMimeType("application/pdf");
// Optional: set the name of the document, the same name as the file.
// This value is only important as a hint when the document file data does not
// contain a valid signature, such as TXT or XML files
uploadOptions.setName("Leadtools.pdf");
uploadOptions.setCachePolicy(new CacheItemPolicy());
uploadOptions.setDocumentId(null);
uploadOptions.setPageCount(0);
uploadUri = DocumentFactory.beginUpload(uploadOptions);
int bytes;
do {
bytes = reader.read(buffer, bufferSize);
if (bytes > 0) {
// Upload a chunk
DocumentFactory.uploadDocument(cache, uploadUri, buffer, 0, bytes);
// Upload annotations
DocumentFactory.uploadAnnotations(cache, uploadUri, buffer, 0, bytes);
}
} while (bytes > 0);
reader.dispose();
reader.close();
inputStream.close();
// We are done, this method is optional, we can call LoadFromUri right now
DocumentFactory.endUpload(cache, uploadUri);
DocumentFactory.abortUploadDocument(uploadUri);
// Now load the document
LoadDocumentOptions options = new LoadDocumentOptions();
options.setCache(cache);
LEADDocument document = DocumentFactory.loadFromUri(uploadUri, options);
printOutDocumentInfo(document);
assertTrue(document != null);
System.out.println("Document created successfully");
document.dispose();
}
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document