.Net 2.0收到的tiff文件图像被反转

时间:2016-08-17 12:31:11

标签: javascript .net xmlhttprequest tiff msxml

一个主要涉及网络的问题我相信。

我从扫描仪创建一个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上是因为旧代码仍然需要在客户端支持,并且无法轻松升级。

  3. 以上是我能说的唯一区别。

    有人对此有任何更好的想法吗?

    为什么会这样?如何解决?

    由于

1 个答案:

答案 0 :(得分:0)

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