Javascript 导出到.xls适用于开发环境,但不适用于生产环境/失败-网络错误

Javascript 导出到.xls适用于开发环境,但不适用于生产环境/失败-网络错误,javascript,node.js,Javascript,Node.js,我似乎找不到我的代码的问题,它在我的开发环境中工作得很好,但在生产环境中却没有。这不是浏览器的问题(Firefox、IE和Chrome都失败了),也不是文件大小的问题,这里的其他问题表明了这一点。我认为这可能是一个象征性的问题,因为我最初没有提供一个,但在实现它之后,我发现问题仍然存在 提示下载时,文件显示失败-网络错误 下面是一些代码位,从客户端开始 generateExcel( ){ this.detector.markForCheck( ); this.ap

我似乎找不到我的代码的问题,它在我的开发环境中工作得很好,但在生产环境中却没有。这不是浏览器的问题(Firefox、IE和Chrome都失败了),也不是文件大小的问题,这里的其他问题表明了这一点。我认为这可能是一个象征性的问题,因为我最初没有提供一个,但在实现它之后,我发现问题仍然存在

提示下载时,文件显示
失败-网络错误

下面是一些代码位,从客户端开始

generateExcel( ){
        this.detector.markForCheck( );
        this.api.post( 'invoice/excel_liquidation', { liquidation: this.list } ).subscribe( ( response: any ) => {
            if( response.success ) { 
                this.toast.success( 'Excel correctly generated!' );
                let url = response.file.url // + '?token=' + this.auth.jwt;
                this.generateDownloadUrl( url, response.file.name );
                this.detector.markForCheck( );
            }
            this.detector.markForCheck( );
        }, ( error: any ) => {
            this.detector.markForCheck( );
        });
    }

generateDownloadUrl( url: string, name: string ) {
        let a    = document.createElement( 'a' );
        a.href   = url;
        a.download = name;
        document.body.appendChild( a );
        a.click( );

        a.remove( );

    }

最后是服务器端(解析和其他不必要的数据除外):


非常感谢您的帮助。

在修改之前的方法后,问题得到了解决,如下所示:

 generateDownloadUrl( url: string, name: string ) {
            let a    = document.createElement( 'a' );
            a.href   = url;
            /*a.download = name;*/
            a.target = '_blank';
            document.body.appendChild( a );
            a.click( );
            a.remove( );

        } 

简而言之,尝试在新选项卡中打开.xls文件而不是直接下载该文件是解决此问题的一种方法。

这是在哪里定义的?app.path.storageIt的定义如下:
path:{storage:path.join(uuu dirname,../../','app/storage/')},
,您是否在服务器上检查过,该路径指向正确的位置,并且该位置可由应用程序写入?也许在某个地方把它记录下来,这样你就可以看到路径了?它是在服务器端正确生成的,因为我可以访问和查看FileZilla上的文件。至少这是我的理解。知道=)非常有帮助
 generateDownloadUrl( url: string, name: string ) {
            let a    = document.createElement( 'a' );
            a.href   = url;
            /*a.download = name;*/
            a.target = '_blank';
            document.body.appendChild( a );
            a.click( );
            a.remove( );

        }