我正在努力在我的应用程序中下载格式的Excel
文件。我的 Vue.js 应用程序向 Node.js 应用程序发出 post 请求,该应用程序从远程 SFTP 服务器下载该 Excel 文件。后端应用程序运行没有任何问题。xlsx
Vue.js
在 Vue.js 应用程序中,我使用下一个代码:
axios.post(config.backendHost + '/excel', {
file_name: fileName
}).then((response) => {
const url = URL.createObjectURL(new Blob([response.data], {
type: 'application/vnd.ms-excel'
}))
const link = document.createElement('a')
link.href = url
link.setAttribute('download', fileName)
document.body.appendChild(link)
link.click()
});
Run Code Online (Sandbox Code Playgroud)
通过浏览器下载文件后,文件自动打开,我遇到如下错误:
我们发现某些内容有问题
.xlsx
。您希望我们尽可能多地尝试恢复吗?
我有这样的 php 函数,我尝试在我的 Django 项目中重写它。对于像header()
和这样的php方法,python中的类似物应该是什么show_error()
?另外如何发送文件以响应?
php:
function waprfile($date=false) {
if(!isset($date) || $date==false) $date = date("d.m.y");
$timestmp = date2timestamp($date);
$filepath = "https://www.example.com/files/".$this->lang_code."/";
if(file_get_contents($filepath.date("dmy",$timestmp).".xls"))
{
header("Location: ".$filepath."wapr".date("dmy",$timestmp).".xls");
}
else
{
show_error(_langWrite("No file for specified date", "???? ?? ????????? ???? ???????????"));
}
}
Run Code Online (Sandbox Code Playgroud)
Python:
import urllib.request
import datatime
import time
from django.utils import translation
def isset(variable):
return variable in locals() or variable in globals()
def waprfile(request, date):
if(not isset(date) or date==False):
date = datetime.datetime.now().strftime('%d.%m.%Y')
timestmp = time.mktime(datatime.datetime.strptime(date, "%d.%m.%Y").timetuple())
filepath …
Run Code Online (Sandbox Code Playgroud) 在 PostgreSQL 中,我有一个名为surveys
.
CREATE TABLE SURVEYS(
SURVEY_ID UUID PRIMARY KEY NOT NULL DEFAULT uuid_generate_v4(),
SURVEY_NAME VARCHAR NOT NULL,
SURVEY_DESCRIPTION TEXT,
START_PERIOD TIMESTAMP,
END_PERIOD TIMESTAMP
);
Run Code Online (Sandbox Code Playgroud)
如您所见,只有SURVEY_ID
和SURVEY_NAME
列是NOT NULL
.
在 Go 中,我想根据POST
请求在该表中创建新条目。我像这样发送 JSON 对象:
{
"survey_name": "NAME",
"survey_description": "DESCRIPTION",
"start_period": "2019-01-01 00:00:00",
"end_period": "2019-02-28 23:59:59"
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,它引发了奇怪的错误:
parsing time ""2019-01-01 00:00:00"" as ""2006-01-02T15:04:05Z07:00"": cannot parse " 00:00:00"" as "T"
Run Code Online (Sandbox Code Playgroud)
我在哪里出错以及如何解决我的问题?
模型/surveys.go:
import (
"database/sql"
"time"
)
type NullTime struct { …
Run Code Online (Sandbox Code Playgroud) 我正在尝试部署Node.js/Express
应用程序Docker
,使用让我们为 HTTPS 加密 SSL 证书。
当我运行docker-compose up
命令时,所有 3 个服务都已启动,但我注意到这样的警告:
Saving debug log to /var/log/letsencrypt/letsencrypt.log
No certs found.
Run Code Online (Sandbox Code Playgroud)
当 docker 尝试RUN /scripts/certbot-auto -n certificates
在certbot/Dockerfile
文件中执行命令时会发生此警告。
里面的/var/log/letsencrypt/letsencrypt.log
文件我看到这个:
2019-08-21 10:27:50,354:DEBUG:certbot.main:certbot version: 0.37.1
2019-08-21 10:27:50,355:DEBUG:certbot.main:Arguments: ['-n']
2019-08-21 10:27:50,355:DEBUG:certbot.main:Discovered plugins: PluginsRegistry(PluginEntryPoint#apache,PluginEntryPoint#manual,PluginEntryPoint#nginx,Plugin$
2019-08-21 10:27:50,372:DEBUG:certbot.log:Root logging level set at 20
2019-08-21 10:27:50,372:INFO:certbot.log:Saving debug log to /var/log/letsencrypt/letsencrypt.log
Run Code Online (Sandbox Code Playgroud)
同样在 nginx 容器的日志中,我注意到这样的警告:
2019/08/21 10:28:37 [emerg] 1#1: cannot load certificate "/etc/letsencrypt/live/tols/fullchain.pem": BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/etc/letsencrypt/live/tols/fullchain.pem','r') …
Run Code Online (Sandbox Code Playgroud) 在单元测试中,我一开始创建了 3 个对象(文章)。测试完成后,我注意到文件夹中有 3 张图像media_root
。
问题:如何删除测试完成后创建的图像?
PS我尝试使用下一个代码,但它删除了media_root
文件夹。
def tearDown(self):
rmtree(settings.MEDIA_ROOT, ignore_errors=True)
Run Code Online (Sandbox Code Playgroud)
注意:方法test_article_form_valid
和中的问题test_article_crud
。
测试.py:
class ArticleTestCase(TestCase):
def setUp(self):
self.image = open(os.path.join(BASE_DIR, 'static/images/tests/image.jpg'), "r")
def test_article_form_valid(self):
data = {
'head': 'TEXT',
}
files_data = {
'image': SimpleUploadedFile(
name=self.image.name,
content=self.image.read(),
content_type='image/jpeg'
)
}
form = ArticleForm(data=data, files=files_data)
self.assertTrue(form.is_valid()) <-- ERROR
def test_article_crud(self):
response = self.client.get(reverse("article:article_create"))
self.assertEquals(response.status_code, 200)
response = self.client.post(
reverse("article:article_create"),
data={
'head': 'TEST',
'image': self.image
},
follow=True,
format='multipart'
)
self.assertEqual(response.status_code, 200)
self.assertEqual(Article.objects.all().count(), …
Run Code Online (Sandbox Code Playgroud) 我有点困惑,需要一些建议。我用PostgreSQL 11
数据库。我有这么简单的sql语句:
SELECT DISTINCT "CITY", "AREA", "REGION"
FROM youtube
WHERE
"CITY" IS NOT NULL
AND
"AREA" IS NOT NULL
AND
"REGION" IS NOT NULL
Run Code Online (Sandbox Code Playgroud)
youtube
我在 sql 语句中使用的表有 2500 万条记录。我认为这就是为什么查询需要 15-17 秒才能完成。对于我使用该查询的 Web 项目,它太长了。我正在尝试加快请求。
我为 youtube 表创建了这样的索引:
CREATE INDEX youtube_location_idx ON public.youtube USING btree ("CITY", "AREA", "REGION");
Run Code Online (Sandbox Code Playgroud)
在这一步之后,我再次运行查询,但需要相同的时间才能完成。似乎查询不使用索引。我如何知道查询中是否使用了任何索引?
我正在尝试Docker
通过 next创建图像Dockerfile
。必须安装Kerberos
客户端。
Dockerfile:
FROM node:latest
RUN export DEBIAN_FRONTEND=noninteractive
RUN apt-get -qq update
RUN apt-get -qq install krb5-user libpam-krb5
RUN apt-get -qq clean
COPY / ./
EXPOSE 3000
CMD ["npm", "start"]
Run Code Online (Sandbox Code Playgroud)
RUN apt-get -qq install krb5-user libpam-krb5
来自 Dockerfile 的下一个命令要求我将值输入到交互式提示中,如下所示:
Default Kerberos version 5 realm:
Run Code Online (Sandbox Code Playgroud)
关键是即使我写了值并按回车,命令也不会终止。出了什么问题以及如何解决?
任何人都知道如何在API 21/AppCompat工具栏中完成选项卡?
我发现的很多材料和文章都很旧.他们使用ActionBar的旧方法现在不起作用.此刻我刚刚创建了工具栏,并且没有关于工具栏标签的想法.那么,任何人都可以提供有关如何使用viewpager创建工具栏选项卡的示例或文章吗?
android android-viewpager android-tabs material-design android-toolbar
我的问题提供了更多信息。我只是想知道如何进行这样的设计。我发现了名为“天气时间线”的 android 应用程序,并且在 CardViews 之间的该应用程序内部(据我所知),他们使用了我在下图中指出的这个元素。我认为它只是 ImageView 但如何将其设置为此处。知道任何关于这个的想法会很有趣!谢谢关注!
在我的Golang (1.15) 应用程序中,我使用sqlx包来处理PostgreSQL数据库 (PostgreSQL 12.5)。
我的SQL请求有一个array_agg
函数,该函数返回字符串数组,如果为空则返回 null。
我正在尝试Scan
此 SQL 请求的结果,但它在我的程序中引发了下一个错误:
sql:列索引 3 上扫描错误,名称“organization_ids”:不支持扫描,将 driver.Value 类型字符串存储到类型 *[]string
代码片段:
type Channel struct {
ChannelId *string `db:"channel_id" json:"channelId"`
ChannelName *string `db:"channel_name" json:"channelName"`
OrganizationsIds *[]string `db:"organizations_ids" json:"organizationsIds"`
}
var channel Channel
row := db.QueryRow(`
select
channels.channel_id::text,
channels.channel_name::text,
array_agg(distinct channels_organizations_relationship.organization_id)::text[] organizations_ids
from
channels
left join channels_organizations_relationship on
channels.channel_id = channels_organizations_relationship.channel_id
where
channels.channel_id = $1
group by
channels.channel_id
limit 1;`, *channelId)
if err := …
Run Code Online (Sandbox Code Playgroud) android ×2
django ×2
django-1.11 ×2
docker ×2
go ×2
postgresql ×2
python ×2
python-2.7 ×2
sql ×2
android-tabs ×1
blob ×1
certbot ×1
devops ×1
dockerfile ×1
excel ×1
javascript ×1
kerberos ×1
nginx ×1
node.js ×1
php ×1
ssl ×1
unit-testing ×1
vue.js ×1
xlsx ×1