2016-08-17 25 views
0

这个问题主要涉及web我相信。.Net 2.0收到的tiff文件图像是倒置的

我从扫描仪创建一个tiff文件,并将其保存在硬盘上(这里都是完美的)。 我的下一步是把文件上传到服务器以这种方式(现有的JavaScript代码):

// ----------------------------------------------------------------- 
    // Upload the scanned document to the server and them save it to CM. 
    // ----------------------------------------------------------------- 
    function SaveToDriveU() 
    { 
    try 
    { 
    document.body.style.cursor = "wait"; 
    objStream = new ActiveXObject("ADODB.Stream"); 
    objStream.Mode = 3; // read write 
    objStream.Type = 1; // adTypeBinary 
    objStream.Open(); 
    objStream.LoadFromFile(strScanedFileName); 

    //var streamToSend = objStream.Read(objStream.Size); 
    try 
    { 
    streamToSend = objStream.Read(-1); 
    } 
    catch(err) 
    { 
    alert(err.message); 
    } 

    window.setTimeout("SendXmlHttpRequest()",1000); 

    //objStream.Close(); 

    } 
    catch (err) 
    { 
    alert("???? ????? ?????? ????? ???????:" + err.message); 
    } 
    } 

    //------------------------------------------------------- 
    // Send XmlHttpRequest 
    //------------------------------------------------------- 
    function SendXmlHttpRequest() 
    { 
    try 
    { 
    objXMLhttp = new ActiveXObject("MSXML2.XMLHTTP"); 

    // Upload the scanned document via XMLHTTP request. 
    objXMLhttp.Open("POST", "Uploader.aspx", true); 
    objXMLhttp.setRequestHeader("Content-Length", objStream.Size); 
    objXMLhttp.setRequestHeader("Content-type","image/tiff"); 

    objXMLhttp.onreadystatechange = function() // Check the upload request status. 
    { 
    if(objXMLhttp.readyState == 4) 
    { 
    if(objXMLhttp.responseText.substr(0,2) == "OK") 
    { 
    document.body.style.cursor = "default"; 
    mstrNewDocID = objXMLhttp.responseText.substr(2,(objXMLhttp.responseText.length - 2)); 

    document.all.NewDocID.value = mstrNewDocID; 
    Form1.submit(); 
    } 
    else 
    { 
    // If the upload failed, display the error message to the user. 
    var strPageUrl = "RunScanner/FailedScanMsg.aspx?ErrorMsg=????? ????? ????? ?????"; 
    location.replace(strPageUrl); 
    } 
    // Delete the local scanned document from the disk. 
    DeleteScanedFile(); 
    } 
    } 

    objXMLhttp.send(streamToSend); 
    } 
    catch (err) 
    { 
    alert("???? ????? ?????? ????? ???????:" + err.message); 
    } 
    } 

现在质疑分流至两个方向:

  1. 托管.NET 4.0全部是完美的。

  2. 托管的.Net 2.0接收的TIFF文件图像倒

    上的.Net 2.0托管(现在将是黑底白字意味着如果图像是黑白的)是因为旧代码仍然需要客户支持,不能轻易升级。

以上是我可以告诉的唯一区别。

任何人有更好的想法吗?

这是怎么发生的?如何解决它?

谢谢

+0

我仍然不知道它如何与.Net 2.0相关,但它似乎是我如何创建TIFF文件的问题,即我使用的压缩。 我想这didn't工作几个: CCITTFAX4,CCITTFAX3,CCITTRLEW,ADOBE_DEFLATE,DEFLATE,DCS,IT8BL,IT8CTPAD,IT8LW,JBIG,SGILOG24,THUNDERSCAN,SGILOG,PIXARLOG,PIXARFILM 和最后我设法得到它使用: PACKBITS 我很想知道它是如何受.Net 2.0影响的 –

回答

0

我的建议是尝试其他压缩方法。我认为这与数据的二进制传输有关