所以我知道如何在服务器上部署 React 应用程序。
我对 NextJS 不理解这一点感到有点愚蠢。我运行 npm run build

我期待像构建文件夹这样的东西。我已经尝试将服务器块根设置为 /var/www/xfolder/.next但该页面仍然禁止 403。我需要运行 npm run start 吗?我对如何正确部署应用程序感到困惑。我在 DigitalOcean 中使用 Ubuntu、NginX(1gb droplet)。
是否可以将文件转换为UTF-8?
如果我在提交后有权访问该文件
$_FILES['file']['tmp_name']
Run Code Online (Sandbox Code Playgroud)
注意:用户可以使用任何类型的字符集上传CSV文件,我通常会遇到一个未知的8位字符集.
我试试
$row = array();
$datas = file($_FILES['file']['tmp_name']);
foreach($datas as $data) {
$data = mb_convert_encoding($data, 'UTF-8');
$row[] = explode(',', $data);
}
Run Code Online (Sandbox Code Playgroud)
但问题是,这段代码删除了单引号等特殊字符.
我的第一个问题是htmlspecialchars删除数组内的值?
我把它作为补充信息.感谢那些可以提供帮助的人!
所以我正在使用jquery进行自动完成搜索。在执行ajax函数之前,我必须设置一个延迟,因为我不想每次在文本框中键入内容时都要通过调用来锤打服务器。这是我的代码:
function searchVendor() {
setTimeout(searchVendor2, 5000);
}
function searchVendor2() {
var search = $('#inputVendor').val();
$.ajax({
type: 'POST',
url: '/getVendors',
data: {search: search},
dataType: 'json',
success: function(s) {
$('#inputVendor').autocomplete({source: s});
}
});
}
Run Code Online (Sandbox Code Playgroud)
所以函数searchVendor执行了onkeyup
<input type="text" class="form-control input-sm" id="inputVendor" onkeyup="searchVendor()">
Run Code Online (Sandbox Code Playgroud)
如果我键入3个字符(例如sas),则该函数searchVendor2将执行3次。5秒钟的延迟有效,但并没有停止并覆盖之前的延迟setTimeout。
我想发生的是,如果我在文本框中键入一个字符,它将在5秒钟后执行,但是!如果在5秒钟之前输入了新字符,setTimeout则会再次重置为5秒钟。只要用户在文本框中键入内容setTimeout,它就会重置为5秒钟,并且仅在经过5秒钟而无需用户再次键入时才执行。
感谢那些能提供帮助的人!
我的代码通过生成一个预签名的URL来访问Amazon S3存储桶(非公共)中的PDF文件,并将生成的URL传递到PDF.js中以在浏览器中查看它。
我遇到一个问题,我每次访问PDF文件时都必须生成一个预签名的url,我觉得这很麻烦。我现在的解决方案是将预签名的URL保存到数据库中并检查它是否已过期。如果它已过期,则生成一个新的URL,否则使用现有的URL。
我的问题:是否可以在不使用预签名URL的情况下访问对象?
我想要完成的是生成一个链接来查看文件(ex.image或pdf).URL无法访问该项目(https:// [bucket] .s3.amazonaws.com/img_name.jpg),我认为因为它的私有而非公开?(我不是桶的所有者,但他给了我access_key和secret_key?)
目前,我所能做的就是使用此代码下载文件.
s3.Bucket('mybucket').download_file('upload/nocturnes.png', 'dropzone/static/pdf/download_nocturnes.png')
Run Code Online (Sandbox Code Playgroud)
我想访问s3上的图像,所以我可以将它放在HTML上,我可以使用访问和密钥查看吗?谢谢那些可以提供帮助的人!