Google apps script 谷歌脚本-从URL获取文件名
我有一些重定向和下载csv文件的URL。我想获取文件的文件名。无论如何,这是可能的 这是我目前使用的代码:Google apps script 谷歌脚本-从URL获取文件名,google-apps-script,google-sheets,Google Apps Script,Google Sheets,我有一些重定向和下载csv文件的URL。我想获取文件的文件名。无论如何,这是可能的 这是我目前使用的代码: function importCSVFromWeb(csvUrl,rownum,sheet) { var csvContent = UrlFetchApp.fetch(csvUrl).getContentText(); var csvData = Utilities.parseCsv(csvContent); var csvFileName =UrlFetchApp.fetch(c
function importCSVFromWeb(csvUrl,rownum,sheet) {
var csvContent = UrlFetchApp.fetch(csvUrl).getContentText();
var csvData = Utilities.parseCsv(csvContent);
var csvFileName =UrlFetchApp.fetch(csvUrl).getBlob().getName();
//Logger.log(csvFileName);
sheet.getRange(rownum, 1, csvData.length, csvData[0].length).setValues(csvData);
sheet.getRange(rownum, csvData[0].length, 1, 1).setValue(csvFileName);
sheet.getRange(rownum, csvData[0].length, 1, 1).copyTo(sheet.getRange(rownum+1, csvData[0].length,csvData.length,1));
sheet.deleteRow(rownum);
}
请帮忙
下面是下载csv的示例URL
在您的情况下,您可以直接从
UrlFetchApp.fetch(csvUrl)
的响应头的“内容处置”中检索文件名。值为“内容处置”:“附件;filename=“20200213-bunbury-r02.csv”,
那么下面的修改呢?请把这看作是几个可能的答案之一
修改脚本:
修改脚本时,请按以下方式修改
发件人:
致:
- 您还可以使用
var csvFileName=res.getHeaders()[“内容处置”].split(“=”[1]。replace(/“/g)”;
https://www.punters.com.au/form-guide/spreadsheet-987656
,csvFileName
是20200213-bunbury-r02.csv
参考:
如果我误解了你的问题,而这不是你想要的方向,我很抱歉。非常感谢。效果很好。我无法感谢你enough@Joe亚伯拉罕:谢谢你的回复。我很高兴你的问题得到了解决。
var csvContent = UrlFetchApp.fetch(csvUrl).getContentText();
var csvData = Utilities.parseCsv(csvContent);
var csvFileName =UrlFetchApp.fetch(csvUrl).getBlob().getName();
var res = UrlFetchApp.fetch(csvUrl);
var csvContent = res.getContentText();
var csvData = Utilities.parseCsv(csvContent);
var csvFileName = res.getHeaders()["Content-Disposition"].match(/filename="(\w.+)"/)[1];