gpt4 book ai didi

macos - MIME 类型未在 OS X 10.5.8 中显示

转载 作者:行者123 更新时间:2023-12-04 04:48:24 25 4
gpt4 key购买 nike

我正在尝试通过表单上传 csv 文件,但在 Mac OS X 10.5.8 上遇到问题。
这是相关的一段代码:

template = Handlebars.compile '''
<form action="/dashboard/csv-upload/" enctype="multipart/form-data" method="post" class="csv-upload">
<p>
<label for="id_uploaded_file" style="float:left;">Upload a CSV file:</label>
<input class="span2" name="uploaded_file" id="id_uploaded_file" type="file">
</p>
</form>
'''

class exports.uploadController extends Backbone.View
el: '#main-container'

events:
'submit form.csv-upload' : '_csvUpload'

initialize: () =>
@render()

render: () =>
return @ if @isRendered
@isRendered = true

_csvUpload : (e) =>
e.preventDefault()
file = @$('#id_uploaded_file')[0].files[0]
if not file
alert "Please select a file to upload, first."
return false
console.log(file.type)
if file.type != "text/csv" and file.type != "text/plain"
alert "Please upload a CSV or TXT file"
return false

我遇到的问题是,即使我上传了 .csv 文件,我也会在 Mac OS X 10.5.8 上收到“请上传 CSV 或 TXT 文件”错误。 console.log 返回一个空字符串。这是一个屏幕截图:
error screenshot

我试过在谷歌上搜索,但没有找到任何东西。我也用 Safari 和 Chrome 尝试过这个。文件对象在 OS X 10.5.8 上没有显示类型属性吗?

最佳答案

在我的 (Windows) 系统上,.csv 文件被映射到“application/vnd.ms-excel”MIME 类型,因此此代码在我的计算机上也会失败。在 Windows 上,根据用户设置的默认应用程序填充 MIME 类型,该应用程序映射到 HKEY_CLASSES_ROOT\MIME\Database\Content Type 中的注册表项。无法识别的文件类型以 type=""返回(如您所见)。 It looks like things behave similarly in OSX

我认为最好的办法是检查文件是否以“.csv”结尾。然后您的服务器端代码可以检查它是否是有效的 csv 文件,如果不是则返回错误。

关于macos - MIME 类型未在 OS X 10.5.8 中显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17815956/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com