Dieser WCF-Dienst gibt ein TIFF-Bild zurück. Es prüft, ob es mit unserem Repository verbunden ist - und holt die Bytes aus der Datendatei. Es überprüft, ob es sich bei der Datei um eine PDF, TIFF oder ein Bild handelt, und gibt den entsprechenden MIME-Typ zurück. Ich kann jetzt den Dienst aufrufen und es gibt die entsprechende Datei zurück - aber mit dem Bildnamen "documentID" .tif. Wie lege ich den Dateinamen des zurückgegebenen Bildes fest?Dieser WCF-Dienst gibt ein TIFF-Bild zurück. Wie lege ich den Dateinamen des zurückgegebenen Bildes fest?
[OperationContract]
[WebInvoke(Method = "GET", UriTemplate="File/{documentID}")]
Stream GetDocumentFile_GET(string documentID);
public Stream GetDocumentFile_GET(string documentID)
{
if (ProprietaryClass.IsConnected)
{
ProprietaryClass _documentForViewer = new ProprietaryClass(documentID);
string _fileType = ProprietaryClass.NativeFileType;
string _mimetype = "image/tiff";
switch (_fileType)
{
case "TIF":
_mimetype = "image/tiff";
break;
case "PDF":
_mimetype = "application/pdf";
break;
case "PNG":
_mimetype = "image/png";
break;
};
if (ProprietaryClass.ProprietaryMethod(_documentForViewer))
{
ProprietaryClass _downloadToViewer = new ProprietaryClass();
if (_documentForViewer.TiffFile != null)
{
_downloadToViewer = _documentForViewer.TiffFile;
}
else
{
_downloadToViewer = _documentForViewer.NativeFile;
}
MemoryStream fileStream = new MemoryStream(_downloadToViewer.FileData);
// fileStream is now array of bytes
System.ServiceModel.Web.WebOperationContext.Current.OutgoingResponse.ContentType = _mimetype;
return (Stream)fileStream;
}
else
{
return new MemoryStream(Encoding.UTF8.GetBytes("Document type not supported by native viewer"));
}
}
else
{
return new MemoryStream(Encoding.UTF8.GetBytes("Not connected"));
}
}
Das hat bei mir bisher funktioniert. –