下载文件时:报错Invalid mime type "application/octet-stream;

本文探讨了在control层调用下载接口时遇到的问题及解决方案。通常情况下,此调用无需返回值,若设置返回值则会导致错误。文章提供了一种有效的方法来规避这个问题。

出现的问题:
control层调用下载接口,因一般需要返回一个经过包装的Response返回给前端,目前看来是调用下载接口时是不需要返回值的,且有返回值的话
会报上面的错误
目前问题解决的方式:
将返回值去掉

#user nobody; worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; #tcp_nopush on; keepalive_timeout 65; #gzip on; # 代理方式 upstream backend { server http://backend:8080/; } http server server { listen 80; server_name 182.92.154.131; location / { root /usr/share/nginx/html/dist; index index.html index.htm; # 解决history路由模式刷新404 try_files $uri $uri/ /index.html; } # 新增API接口反向代理 (核心修改部分) location /api/ { # 捕获所有以/api开头的请求 proxy_pass http://182.92.154.131:8080/; # 关键斜杠/自动丢弃/api proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } # location /backend { # /backend/test/api /test/api # # proxy_pass http://backend:8080/; # 加/代表会丢弃/backend # proxy_pass backend; # 加/代表会丢弃/backend # } # rewrite ^(.*)$ https://$host$1 permanent; error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } # HTTPS server # server { # listen 443 ssl; # server_name www.wushen3508.top; # ssl_certificate /usr/share/nginx/https/wushen3508.top.pem; # ssl_certificate_key /usr/share/nginx/https/wushen3508.top.key; # ssl_session_cache shared:SSL:1m; # ssl_session_timeout 5m; # ssl_ciphers HIGH:!aNULL:!MD5; # ssl_prefer_server_ciphers on; # location / { # root /usr/share/nginx/html/dist; # index index.html index.htm; # # 解决history路由模式刷新404 # try_files $uri $uri/ /index.html; # } # location /backend { # /backend/test/api /test/api # proxy_pass http://backend:8080/; # 加/代表会丢弃/backend # # proxy_pass backend; # 加/代表会丢弃/backend # } # error_page 500 502 503 504 /50x.html; # location = /50x.html { # root html; # } # } }/docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration /docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/ /docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh 10-listen-on-ipv6-by-default.sh: info: IPv6 listen already enabled /docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh /docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh /docker-entrypoint.sh: Configuration complete; ready for start up 2025/03/24 10:22:06 [emerg] 1#1: invalid host in upstream “http://backend:8080/” in /etc/nginx/nginx.conf:22 nginx: [emerg] invalid host in upstream “http://backend:8080/” in /etc/nginx/nginx.conf:22给出修改后的完整配置
03-25
#user nobody; worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; #tcp_nopush on; keepalive_timeout 65; #gzip on; # 代理方式 upstream backend { server http://backend:8080/; } # http server server { listen 80; server_name 182.92.154.131; location / { root /usr/share/nginx/html/dist; index index.html index.htm; # 解决history路由模式刷新404 try_files $uri $uri/ /index.html; } # 新增API接口反向代理 (核心修改部分) location /api/ { # 捕获所有以/api开头的请求 proxy_pass http://182.92.154.131:8080/; # 关键斜杠/自动丢弃/api proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } # location /backend { # /backend/test/api /test/api # # proxy_pass http://backend:8080/; # 加/代表会丢弃/backend # proxy_pass backend; # 加/代表会丢弃/backend # } # rewrite ^(.*)$ https://$host$1 permanent; error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } # HTTPS server # server { # listen 443 ssl; # server_name www.wushen3508.top; # ssl_certificate /usr/share/nginx/https/wushen3508.top.pem; # ssl_certificate_key /usr/share/nginx/https/wushen3508.top.key; # ssl_session_cache shared:SSL:1m; # ssl_session_timeout 5m; # ssl_ciphers HIGH:!aNULL:!MD5; # ssl_prefer_server_ciphers on; # location / { # root /usr/share/nginx/html/dist; # index index.html index.htm; # # 解决history路由模式刷新404 # try_files $uri $uri/ /index.html; # } # location /backend { # /backend/test/api /test/api # proxy_pass http://backend:8080/; # 加/代表会丢弃/backend # # proxy_pass backend; # 加/代表会丢弃/backend # } # error_page 500 502 503 504 /50x.html; # location = /50x.html { # root html; # } # } }/docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration /docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/ /docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh 10-listen-on-ipv6-by-default.sh: info: IPv6 listen already enabled /docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh /docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh /docker-entrypoint.sh: Configuration complete; ready for start up 2025/03/24 10:22:06 [emerg] 1#1: invalid host in upstream “http://backend:8080/” in /etc/nginx/nginx.conf:22 nginx: [emerg] invalid host in upstream “http://backend:8080/” in /etc/nginx/nginx.conf:22
03-25
Content script loaded and running. router:1 Failed to load module script: Expected a JavaScript module script but the server responded with a MIME type of "". Strict MIME type checking is enforced for module scripts per HTML spec. App.vue:1 Failed to load module script: Expected a JavaScript module script but the server responded with a MIME type of "application/octet-stream". Strict MIME type checking is enforced for module scripts per HTML spec. style.css:1 Failed to load module script: Expected a JavaScript module script but the server responded with a MIME type of "text/css". Strict MIME type checking is enforced for module scripts per HTML spec. translate-api-f5d75aa0.js:6 [debug logInfo] select-words content initSelectWords undefined at : content_manager.js:1 message: onCheckIsNotMiniWindow background-a2b11b7c.js:5 canBeTranslated func zh false false false true content-5a0f5a82.js:2 canBeTranslated false translate-api-f5d75aa0.js:16 Uncaught (in promise) {cmd: 'beacon-report-mes', err: {…}} (anonymous) @ translate-api-f5d75aa0.js:16 Show 1 more frame Show less novel_content.script:947 siteType: other_page originalUrl host: 127.0.0.1:8848 novel_content.script:947 originalUrl: http://127.0.0.1:8848/china-3d-map1/index.html novel_content.script:947 DomDistiller debug level: 0 novel_content.script:3983 extractCost:34 novel_content.script:3993 version: 20231205 x5_distiller.script:1 siteType: other_page originalUrl host: 127.0.0.1:8848 x5_distiller.script:1 DomDistiller debug level: 0 x5_distiller.script:1 ContentExtractor::extractContent, userSelectEnabled = true, this = Class$S106@1 x5_distiller.script:1 findNext[object HTMLHtmlElement]http://127.0.0.1:8848/china-3d-map1/index.html x5_distiller.script:1 findPrevious[object HTMLHtmlElement]http://127.0.0.1:8848/china-3d-map1/index.html x5_distiller.script:1 userSelectEnabled: true
10-16
有错误,Build5.framework.js.gz:1 Uncaught SyntaxError: Invalid or unexpected token (at Build5.framework.js.gz:1:1)了解此错误AI Build5.loader.js:1 Unable to parse Build/Build5.framework.js.gz! This can happen if build compression was enabled but web server hosting the content was misconfigured to not serve the file with HTTP Response Header "Content-Encoding: gzip" present. Check browser Console and Devtools Network tab to debug. c @ Build5.loader.js:1 i.onload @ Build5.loader.js:1 script (匿名) @ Build5.loader.js:1 x @ Build5.loader.js:1 (匿名) @ Build5.loader.js:1 createUnityInstance @ Build5.loader.js:1 (匿名) @ (索引):27了解此错误AI Build5.loader.js:1 Failed to parse binary data file Build/Build5.data.gz (with "Content-Type: application/octet-stream, application/octet-stream"), because it is still gzip-compressed. It should have been uncompressed by the browser, but it was unable to do so since the web server provided the compressed content without specifying the HTTP Response Header "Content-Encoding: gzip" that would have informed the browser that decompression is needed. Please verify your web server hosting configuration to add the missing "Content-Encoding: gzip" HTTP Response Header. c @ Build5.loader.js:1 (匿名) @ Build5.loader.js:1 Promise.then x @ Build5.loader.js:1 (匿名) @ Build5.loader.js:1 createUnityInstance @ Build5.loader.js:1 (匿名) @ (索引):27了解此错误AI Build5.loader.js:1 Malformed data? Downloaded binary data file Build/Build5.data.gz (ArrayBuffer size: 77035852) and browser should have decompressed it, but it might have not. Dumping raw HTTP Response Headers if it might help debug: (匿名) @ Build5.loader.js:1 Promise.then x @ Build5.loader.js:1 (匿名) @ Build5.loader.js:1 createUnityInstance @ Build5.loader.js:1 (匿名) @ (索引):27了解此错误AI Build5.loader.js:1 accept-ranges: bytes (匿名) @ Build5.loader.js:1 (匿名) @ Build5.loader.js:1 Promise.then x @ Build5.loader.js:1 (匿名) @ Build5.loader.js:1 createUnityInstance @ Build5.loader.js:1 (匿名) @ (索引):27了解此错误AI Build5.loader.js:1 cache-control: max-age=315360000 (匿名) @ Build5.loader.js:1 (匿名) @ Build5.loader.js:1 Promise.then x @ Build5.loader.js:1 (匿名) @ Build5.loader.js:1 createUnityInstance @ Build5.loader.js:1 (匿名) @ (索引):27了解此错误AI Build5.loader.js:1 connection: keep-alive (匿名) @ Build5.loader.js:1 (匿名) @ Build5.loader.js:1 Promise.then x @ Build5.loader.js:1 (匿名) @ Build5.loader.js:1 createUnityInstance @ Build5.loader.js:1 (匿名) @ (索引):27了解此错误AI Build5.loader.js:1 content-length: 77035852 (匿名) @ Build5.loader.js:1 (匿名) @ Build5.loader.js:1 Promise.then x @ Build5.loader.js:1 (匿名) @ Build5.loader.js:1 createUnityInstance @ Build5.loader.js:1 (匿名) @ (索引):27了解此错误AI Build5.loader.js:1 content-type: application/octet-stream, application/octet-stream (匿名) @ Build5.loader.js:1 (匿名) @ Build5.loader.js:1 Promise.then x @ Build5.loader.js:1 (匿名) @ Build5.loader.js:1 createUnityInstance @ Build5.loader.js:1 (匿名) @ (索引):27了解此错误AI Build5.loader.js:1 date: Thu, 06 Mar 2025 02:16:53 GMT (匿名) @ Build5.loader.js:1 (匿名) @ Build5.loader.js:1 Promise.then x @ Build5.loader.js:1 (匿名) @ Build5.loader.js:1 createUnityInstance @ Build5.loader.js:1 (匿名) @ (索引):27了解此错误AI Build5.loader.js:1 etag: "67c8197a-497794c" (匿名) @ Build5.loader.js:1 (匿名) @ Build5.loader.js:1 Promise.then x @ Build5.loader.js:1 (匿名) @ Build5.loader.js:1 createUnityInstance @ Build5.loader.js:1 (匿名) @ (索引):27了解此错误AI Build5.loader.js:1 expires: Thu, 31 Dec 2037 23:55:55 GMT (匿名) @ Build5.loader.js:1 (匿名) @ Build5.loader.js:1 Promise.then x @ Build5.loader.js:1 (匿名) @ Build5.loader.js:1 createUnityInstance @ Build5.loader.js:1 (匿名) @ (索引):27了解此错误AI Build5.loader.js:1 last-modified: Wed, 05 Mar 2025 09:29:30 GMT (匿名) @ Build5.loader.js:1 (匿名) @ Build5.loader.js:1 Promise.then x @ Build5.loader.js:1 (匿名) @ Build5.loader.js:1 createUnityInstance @ Build5.loader.js:1 (匿名) @ (索引):27了解此错误AI Build5.loader.js:1 server: nginx/1.27.1
03-08
[root@localhost nginx-1.23.4]# cat nginx.conf worker_processes 1; events { worker_connections 1024; } stream { upstream dm { hash $remote_addr consistent; server 59.220.114.217:5237 weight=5 max_fails=3 fail_timeout=300s; } server { listen 8986; proxy_connect_timeout 10s; proxy_timeout 300s; proxy_pass dm; } upstream ssh { hash $remote_addr consistent; server 127.0.0.1:22 weight=5 max_fails=3 fail_timeout=300s; } server { listen 8987; proxy_connect_timeout 10s; proxy_timeout 300s; proxy_pass ssh; } # upstream dhsp { # hash $remote_addr consistent; # server https://63.92.1.50:8320/ weight=5 max_fails=3 fail_timeout=300s; # } # server { # listen 8988; # proxy_connect_timeout 10s; # proxy_timeout 300s; # proxy_pass dhsp; # } upstream backend { server 63.92.1.50:8050; } server { listen 9031; proxy_pass http://backend; proxy_connect_timeout 1s; proxy_timeout 3s; } } http { include mime.types; default_type application/octet-stream; client_max_body_size 5000M; client_header_buffer_size 64k; large_client_header_buffers 4 64k; #请求头过长报错用此2句 sendfile on; keepalive_timeout 65; include /home/nginx-1.23.4/conf/conf.d/*.conf; server { # listen 8093; server_name localhost; location / { root html; index index.html index.htm; client_max_body_size 5000M; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } } rtmp { server { # rtmp协议的端口号 listen 1935; # rtmp协议的服务名 application live { live on; } } } [root@localhost nginx-1.23.4]# sbin/nginx -s reload nginx: [emerg] invalid host in upstream "http://backend" in /home/nginx-1.23.4/nginx.conf:47 啥原因
08-14
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值