当前位置: 首页 > 知识库问答 >
问题:

如何实现云存储 txt下载而不是直接打开?

丘普松
2024-01-10

把某txt文件上传到云存储,目前用的是backblaze。
得到一个URL,比如 域名/目录/a.txt。
复制URL到浏览器打开,如何实现下载txt,而不是直接打开?

目前只知道把URL转成迅雷URL,可以实现通过迅雷下载txt
image.png

共有3个答案

微生运浩
2024-01-10

尝试了一下CyberDuck,似乎没办法设置Content-Type

使用代码上传吧。

import osimport boto3os.environ['AWS_ENDPOINT_URL'] = 'https://*****'os.environ['AWS_ACCESS_KEY_ID'] = '*****'os.environ['AWS_SECRET_ACCESS_KEY'] = '*****'s3 = boto3.client('s3')"""import boto3s3 = boto3.client('s3')s3.upload_file('/tmp/hello.txt', 'mybucket', 'hello.txt')"""resp = s3.upload_file(Filename='xxx.txt', Bucket='lpe234', Key='hello.txt',                      ExtraArgs={'Metadata': {'Content-Type': 'application/octet-stream'}})print(resp)

传完之后可以看到
image.png

这样获得的URL地址会直接下载,而不是展开。示例:https://f005.backblazeb2.com/file/lpe234/hello.txt


Content-Type 设置为 application/octet-stream 浏览器就会直接下载。

使用工具上传,不要在网页直接上传。
https://www.backblaze.com/apidocs/b2-upload-file

image.png


其实国内很多OSS,在未配置备案域名前,图片的Content-Type都会被设置为application/octet-stream

耿运浩
2024-01-10

改一下云存储的文件头就行了

景唯
2024-01-10

要实现通过URL下载txt文件而不是直接打开,一种常见的方法是利用URL的重定向特性。下面是一种可能的方法:

  1. 首先,你需要在云存储服务的控制台中创建一个重定向规则。这个规则将把你的txt文件的URL重定向到一个特定的下载URL。具体的操作步骤可能会因云存储服务的不同而有所差异,你可以查阅你所使用的云存储服务的文档来了解如何创建重定向规则。
  2. 创建好重定向规则后,你就可以获取到这个特定的下载URL。这个URL应该是一个可以下载文件的URL,而不是直接打开文件的URL。
  3. 最后,你可以将这个下载URL提供给用户,让他们通过这个URL来下载txt文件。你可以在网页上提供一个链接,当用户点击这个链接时,就会触发下载而不是直接打开文件。

另外,如果你想要更精细地控制下载行为,比如设置下载的文件名或下载时使用的程序,你可能需要使用一些编程技术来实现。例如,你可以使用JavaScript来创建一个可以自动下载文件的链接,或者使用服务器端编程语言来处理下载请求并返回适当的文件内容。

需要注意的是,不同的云存储服务可能具有不同的重定向规则和API,因此具体的实现方法可能会有所不同。你需要查阅你所使用的云存储服务的文档来了解具体的实现步骤和限制。

 类似资料:
  • 我是否可以让excel文件在浏览器中打开以供查看,而不是下载,并有一个下载按钮,类似于PDFs? 我使用的是Python Flask,对于PDFs,我使用:

  • 本文向大家介绍php实现改变图片直接打开为下载的方法,包括了php实现改变图片直接打开为下载的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了php实现改变图片直接打开为下载的方法。分享给大家供大家参考。具体如下: process.php文件如下: html文件如下: 希望本文所述对大家的php程序设计有所帮助。

  • 本文向大家介绍使用Plupload实现直接上传附件至七牛云存储,包括了使用Plupload实现直接上传附件至七牛云存储的使用技巧和注意事项,需要的朋友参考一下 这个插件主要针对哪些用户? 1.空间小想做下载服务器的用户,既没有足够的带宽,又没有足够大的空间,我们这个怎么弄呢?将我们的网站做成中间层,然后用户上传到服务器其实就上传到了七牛云存储,下载也是等同于在七牛下载,即省了空间又省了带宽,解决了

  • 我试图在我的文件系统上为maven和gradle维护相同的存储库。但是我遇到了一些问题。 我的 GRADLE_USER_HOME是 我的gradle主页与我的Maven存储库相同。 但是,当通过gradle下载依赖项时,它们将被下载到gradle\u USER\u HOME\cache中,而不是存储库文件夹中。我缺少什么配置? 编辑我已经查看了《Gradle In Action》一书中关于依赖关系

  • 我有一个角应用程序使用Firebase存储存储用户上传的照片文件。在用户上传一个文件之后,我调用getDownloadURL()(返回Observable)以获得完整的公共URL路径。我希望将URL字符串存储在Firestore数据库中,以便将其绑定到img html元素src属性,以便在web页面上显示。这将使我不必调用存储API来一个接一个地异步获取每个图像URL。 这个URL在查询字符串中包