客户端打开服务器中的文件!
如:jsp页面链接地址,打开服务器中文件(doc,xls,ppt,pdf,txt等)如果不用虚拟目录,怎么实现?

解决方案 »

  1.   

    好像有api实现在线文档浏览功能  同求高手指教   
      

  2.   

    金格控件,LZ去google查询吧。里面有很全的例子介绍
      

  3.   

    LZ和我要实现的功能差不多啊,我也没发解决啊,实在不行就用下载的方法吧public static bool ResponseFile(HttpRequest _Request,HttpResponse _Response,string _fileName,string _fullPath, long _speed)
        {
            try
            {
                FileStream myFile = new FileStream(_fullPath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
                BinaryReader br = new BinaryReader(myFile);
                try
                {
                    _Response.AddHeader("Accept-Ranges", "bytes");
                    _Response.Buffer = false;
                    long fileLength = myFile.Length;
                    long startBytes = 0;
         
                    double pack = 10240; //10K bytes
                    //int sleep = 200;   //每秒5次   即5*10K bytes每秒
                    int sleep = (int)Math.Floor(1000 * pack / _speed) + 1;
                    if (_Request.Headers["Range"] != null)
                    {
                        _Response.StatusCode = 206;
                        string[] range = _Request.Headers["Range"].Split(new char[] {'=', '-'});
                        startBytes = Convert.ToInt64(range[1]);
                    }
                    _Response.AddHeader("Content-Length", (fileLength - startBytes).ToString());
                    if (startBytes != 0)
                    {
                        //Response.AddHeader("Content-Range", string.Format(" bytes {0}-{1}/{2}", startBytes, fileLength-1, fileLength));
                    }
                    _Response.AddHeader("Connection", "Keep-Alive");
                    _Response.ContentType = "application/octet-stream";
                    _Response.AddHeader("Content-Disposition","attachment;filename=" + HttpUtility.UrlEncode(_fileName,System.Text.Encoding.UTF8) );
                 
                    br.BaseStream.Seek(startBytes, SeekOrigin.Begin);
                    int maxCount = (int) Math.Floor((fileLength - startBytes) / pack) + 1;                for (int i = 0; i < maxCount; i++)
                    {
                        if (_Response.IsClientConnected)
                        {
                            _Response.BinaryWrite(br.ReadBytes(int.Parse(pack.ToString())));
                          System.Threading.Thread.Sleep(sleep);
                        }
                        else
                        {
                            i=maxCount; 
                        }
                    }
                }
                catch
                {
                 return false;
                }
                finally
                {
                    br.Close();                myFile.Close();
                }
            }
            catch
            {
                return false;
            }
            return true;
        }
      

  4.   

    doc文件和html页面文件一样,只要URL写对了,直接就能访问了。
      

  5.   


    Content-type 的说明 'application/andrew-inset',
    'hqx' => 'application/mac-binhex40',
    'cpt' => 'application/mac-compactpro',
    'doc' => 'application/msword',
    'bin' => 'application/octet-stream',
    'dms' => 'application/octet-stream',
    'lha' => 'application/octet-stream',
    'lzh' => 'application/octet-stream',
    'exe' => 'application/octet-stream',
    'class' => 'application/octet-stream',
    'so' => 'application/octet-stream',
    'dll' => 'application/octet-stream',
    'oda' => 'application/oda',
    'pdf' => 'application/pdf',
    'ai' => 'application/postscript',
    'eps' => 'application/postscript',
    'ps' => 'application/postscript',
    'smi' => 'application/smil',
    'smil' => 'application/smil',
    'mif' => 'application/vnd.mif',
    'xls' => 'application/vnd.ms-excel',
    'ppt' => 'application/vnd.ms-powerpoint',
    'wbxml' => 'application/vnd.wap.wbxml',
    'wmlc' => 'application/vnd.wap.wmlc',
    'wmlsc' => 'application/vnd.wap.wmlscriptc',
    'bcpio' => 'application/x-bcpio',
    'vcd' => 'application/x-cdlink',
    'pgn' => 'application/x-chess-pgn',
    'cpio' => 'application/x-cpio',
    'csh' => 'application/x-csh',
    'dcr' => 'application/x-director',
    'dir' => 'application/x-director',
    'dxr' => 'application/x-director',
    'dvi' => 'application/x-dvi',
    'spl' => 'application/x-futuresplash',
    'gtar' => 'application/x-gtar',
    'hdf' => 'application/x-hdf',
    'js' => 'application/x-javascript',
    'skp' => 'application/x-koan',
    'skd' => 'application/x-koan',
    'skt' => 'application/x-koan',
    'skm' => 'application/x-koan',
    'latex' => 'application/x-latex',
    'nc' => 'application/x-netcdf',
    'cdf' => 'application/x-netcdf',
    'sh' => 'application/x-sh',
    'shar' => 'application/x-shar',
    'swf' => 'application/x-shockwave-flash',
    'sit' => 'application/x-stuffit',
    'sv4cpio' => 'application/x-sv4cpio',
    'sv4crc' => 'application/x-sv4crc',
    'tar' => 'application/x-tar',
    'tcl' => 'application/x-tcl',
    'tex' => 'application/x-tex',
    'texinfo' => 'application/x-texinfo',
    'texi' => 'application/x-texinfo',
    't' => 'application/x-troff',
    'tr' => 'application/x-troff',
    'roff' => 'application/x-troff',
    'man' => 'application/x-troff-man',
    'me' => 'application/x-troff-me',
    'ms' => 'application/x-troff-ms',
    'ustar' => 'application/x-ustar',
    'src' => 'application/x-wais-source',
    'xhtml' => 'application/xhtml+xml',
    'xht' => 'application/xhtml+xml',
    'zip' => 'application/zip',
    'au' => 'audio/basic',
    'snd' => 'audio/basic',
    'mid' => 'audio/midi',
    'midi' => 'audio/midi',
    'kar' => 'audio/midi',
    'mpga' => 'audio/mpeg',
    'mp2' => 'audio/mpeg',
    'mp3' => 'audio/mpeg',
    'aif' => 'audio/x-aiff',
    'aiff' => 'audio/x-aiff',
    'aifc' => 'audio/x-aiff',
    'm3u' => 'audio/x-mpegurl',
    'ram' => 'audio/x-pn-realaudio',
    'rm' => 'audio/x-pn-realaudio',
    'rpm' => 'audio/x-pn-realaudio-plugin',
    'ra' => 'audio/x-realaudio',
    'wav' => 'audio/x-wav',
    'pdb' => 'chemical/x-pdb',
    'xyz' => 'chemical/x-xyz',
    'bmp' => 'image/bmp',
    'gif' => 'image/gif',
    'ief' => 'image/ief',
    'jpeg' => 'image/jpeg',
    'jpg' => 'image/jpeg',
    'jpe' => 'image/jpeg',
    'png' => 'image/png',
    'tiff' => 'image/tiff',
    'tif' => 'image/tiff',
    'djvu' => 'image/vnd.djvu',
    'djv' => 'image/vnd.djvu',
    'wbmp' => 'image/vnd.wap.wbmp',
    'ras' => 'image/x-cmu-raster',
    'pnm' => 'image/x-portable-anymap',
    'pbm' => 'image/x-portable-bitmap',
    'pgm' => 'image/x-portable-graymap',
    'ppm' => 'image/x-portable-pixmap',
    'rgb' => 'image/x-rgb',
    'xbm' => 'image/x-xbitmap',
    'xpm' => 'image/x-xpixmap',
    'xwd' => 'image/x-xwindowdump',
    'igs' => 'model/iges',
    'iges' => 'model/iges',
    'msh' => 'model/mesh',
    'mesh' => 'model/mesh',
    'silo' => 'model/mesh',
    'wrl' => 'model/vrml',
    'vrml' => 'model/vrml',
    'css' => 'text/css',
    'html' => 'text/html',
    'htm' => 'text/html',
    'asc' => 'text/plain',
    'txt' => 'text/plain',
    'rtx' => 'text/richtext',
    'rtf' => 'text/rtf',
    'sgml' => 'text/sgml',
    'sgm' => 'text/sgml',
    'tsv' => 'text/tab-separated-values',
    'wml' => 'text/vnd.wap.wml',
    'wmls' => 'text/vnd.wap.wmlscript',
    'etx' => 'text/x-setext',
    'xsl' => 'text/xml',
    'xml' => 'text/xml',
    'mpeg' => 'video/mpeg',
    'mpg' => 'video/mpeg',
    'mpe' => 'video/mpeg',
    'qt' => 'video/quicktime',
    'mov' => 'video/quicktime',
    'mxu' => 'video/vnd.mpegurl',
    'avi' => 'video/x-msvideo',
    'movie' => 'video/x-sgi-movie',
    'ice' => 'x-conference/x-cooltalk',
      

  6.   

    修改一下服务器配置文件就可以了,如tomcat在conf路径下的web.xml中将    <mime-mapping>
            <extension>doc</extension>
            <mime-type>application/msword</mime-type>
        </mime-mapping>去掉,就不会下载doc文件了,可以在浏览器中直接打开!
      

  7.   

    按照百度他们的做法,你得把这些文件弄成flash