我想在SQL Server 2016中解析一些json.有一个Projects-> Structures-> Properties的层次结构.我想编写一个解析整个层次结构的查询,但我不想按索引号指定任何元素,即我不想做这样的事情:
openjson (@json, '$[0]')
Run Code Online (Sandbox Code Playgroud)
要么
openjson (@json, '$.structures[0]')
Run Code Online (Sandbox Code Playgroud)
我有这个想法,我可以读取顶级项目对象的值以及表示它下面的结构的json字符串,然后可以单独解析.问题是以下代码不起作用:
declare @json nvarchar(max)
set @json = '
[
{
"IdProject":"97A76363-095D-4FAB-940E-9ED2722DBC47",
"Name":"Test Project",
"structures":[
{
"IdStructure":"CB0466F9-662F-412B-956A-7D164B5D358F",
"IdProject":"97A76363-095D-4FAB-940E-9ED2722DBC47",
"Name":"Test Structure",
"BaseStructure":"Base Structure",
"DatabaseSchema":"dbo",
"properties":[
{
"IdProperty":"618DC40B-4D04-4BF8-B1E6-12E13DDE86F4",
"IdStructure":"CB0466F9-662F-412B-956A-7D164B5D358F",
"Name":"Test Property 2",
"DataType":1,
"Precision":0,
"Scale":0,
"IsNullable":false,
"ObjectName":"Test Object",
"DefaultType":1,
"DefaultValue":""
},
{
"IdProperty":"FFF433EC-0BB5-41CD-8A71-B5F09B97C5FC",
"IdStructure":"CB0466F9-662F-412B-956A-7D164B5D358F",
"Name":"Test Property 1",
"DataType":1,
"Precision":0,
"Scale":0,
"IsNullable":false,
"ObjectName":"Test Object",
"DefaultType":1,
"DefaultValue":""
}
]
}
]
}
]';
select IdProject, Name, structures
from openjson (@json)
with
(
IdProject …Run Code Online (Sandbox Code Playgroud) 我正在Asp.net core 2.0中创建一个允许上传文件的网站.我很快就遇到了30MB上传限制的问题,并404从服务器收到响应.低于此限制一切正常.
我在网上找到了许多像这样的解决方案:
增加Asp.Net核心中的上传文件大小.我的问题是我无法使这个解决方案工作,我仍然得到了404响应30MB.
我的电话是ajax,就像这样:
function uploadMedia(isPhoto, files) {
var type;
if (isPhoto) {
type = "i";
} else {
type = "v";
}
var data = new FormData();
if (files.length > 0) {
for (idx = 0; idx < files.length; idx++) {
if (files[idx].size < 1074790400) {
data.append("fileImage" + idx, files[idx]);
} else {
BootstrapDialog.show({
type: BootstrapDialog.TYPE_WARNING,
title: "Validation Error",
message: "The maximum file size for images is 1GB. …Run Code Online (Sandbox Code Playgroud) 我在.net core 2.0 MVC Web应用程序中上传大文件时遇到了麻烦.
我看过这篇文章,比如这篇文章,展示了如何增加.net core 2.0中的文件大小限制: 增加Kestrel的上传请求长度限制
所以,按照这个例子,我尝试了两种选择.我目前在我的Program.cs中有这个:
public static IWebHost BuildWebHost(string[] args) =>
WebHost.CreateDefaultBuilder(args)
.UseStartup<Startup>()
.UseKestrel(options => options.Limits.MaxRequestBodySize = null)
.Build();
Run Code Online (Sandbox Code Playgroud)
...并且我在控制器上的ajax文件上传方法如下所示:
[HttpPost]
[RequestSizeLimit(1_074_790_400)]
[Route("api/article/uploadfile/{mediaType}")]
public async Task<IActionResult> UploadFile(string mediaType)
Run Code Online (Sandbox Code Playgroud)
我正在使用上传的文件 Request.Form.Files
视图上的javascript如下所示:
$('#upload-videos').change(function () {
var files = $("#upload-videos").get(0).files;
uploadMedia(false, files);
})
function uploadMedia(isPhoto, files) {
var type;
if (isPhoto) {
type = "i";
}
else {
type = "v";
}
var data = new FormData();
if (files.length > 0) {
for (idx = 0; idx …Run Code Online (Sandbox Code Playgroud) asp.net-core ×2
c# ×2
javascript ×2
asp.net-mvc ×1
file-upload ×1
hierarchy ×1
json ×1
open-json ×1
parsing ×1