0

ここに画像の説明を入力

Word 文書をダウンロードしているときにこの問題が発生し続けますが、再度開くと問題なく動作します。

これは私のコードです:

                object missing = Missing.Value;
            object start1 = 0;

            var wordApp = new ApplicationClass();

            Microsoft.Office.Interop.Word.Document myDoc = wordApp.Documents.Add(ref missing, ref missing,
                                                                                 ref missing, ref missing);

            object doNotSaveChanges = WdSaveOptions.wdDoNotSaveChanges;
            //object fileStream = new FileStream(Server.MapPath("~/Upload/") + fileName,
            //                                                  FileMode.Create);

            object fs = Server.MapPath("~/Upload/") + fileName;

            Range rng = myDoc.Range(ref start1, ref missing);

            try
            {
                myDoc.Application.ActiveDocument.SaveAs(ref fs, ref missing, ref missing, ref missing,
                                                        ref missing, ref missing, ref missing, ref missing,
                                                        ref missing, ref missing,
                                                        ref missing, ref missing, ref missing, ref missing,
                                                        ref missing, ref missing);

                wordApp.Visible = true;



    //All document information code here
    }
            catch (Exception)
            {

                throw;
            }
            finally
            {
                myDoc.Save();

                myDoc.Close(ref doNotSaveChanges, ref missing, ref missing);
            }

            // The file name used to save the file to the client's system..

            string filename = fs.ToString();
            System.IO.Stream stream = null;
            try
            {
            // Open the file into a stream. 
                stream = new FileStream(filename, System.IO.FileMode.Open, System.IO.FileAccess.Read,
                                        System.IO.FileShare.Read);
            // Total bytes to read: 
                long bytesToRead = stream.Length;
                Response.ContentType = "application/msword";
                Response.AddHeader("Content-Disposition", "attachment; filename=" + fileName);
            // Read the bytes from the stream in small portions. 
                while (bytesToRead > 0)
                {
            // Make sure the client is still connected. 
                    if (Response.IsClientConnected)
                    {
           // Read the data into the buffer and write into the 
            // output stream. 
                        byte[] buffer = new Byte[10000];
                        int length = stream.Read(buffer, 0, 10000);
                        Response.OutputStream.Write(buffer, 0, length);
                        Response.Flush();
            // We have already read some bytes.. need to read 
            // only the remaining. 
                        bytesToRead = bytesToRead - length;
                    }
                    else
                    {
            // Get out of the loop, if user is not connected anymore.. 
                        bytesToRead = -1;
                    }
                }
            }
            catch (Exception ex)
            {
                Response.Write(ex.Message);
            // An error occurred.. 
            }
            finally
            {
                if (stream != null)
                {
                    stream.Close();
                }
            }
    }
4

1 に答える 1

0

破損した Word ファイルを修復するには、Word 回復ツール用のサード パーティ ソフトウェア RecoveryFix を試す必要があります。このツールは、Word ファイルの復元に役立ちます。

于 2013-05-29T12:14:58.310 に答える