小编yas*_*r99的帖子

Spring Boot上传多部分413请求实体太大

我有这样一个方法:

@RequestMapping(method = RequestMethod.POST)
@ResponseStatus(HttpStatus.CREATED)
@ResponseBody
@PreAuthorize("@securityService.isAllowedAccessByCurrentUser(#resource?.userId)")
public Post createPost(@RequestPart(required = false) @Valid final MultipartFile media,
        @RequestPart(required = true) @Valid PostUploadDto resource, final UriComponentsBuilder uriBuilder,
        final HttpServletResponse response) {
    return service.create(resource, media);
}
Run Code Online (Sandbox Code Playgroud)

在 application.properties 我有这个:

# fileupload
spring.servlet.multipart.max-file-size=1024MB
spring.servlet.multipart.max-request-size=1024MB
spring.servlet.multipart.enabled=true
Run Code Online (Sandbox Code Playgroud)

当我尝试上传 1.2 MB 文件时,收到 413 请求实体太大

我究竟做错了什么?

编辑:

下面是调用 API 的 React 代码:

export const createNewPost = async (caption, userId, tokenData, imageURI, gameId) => {
  const resource = {
    userId,
    caption,
    hashtags: allTagsFrom(caption),
    mentions: allMentionsFrom(caption),
    gameId,
    createdOn: moment()
      .utc() …
Run Code Online (Sandbox Code Playgroud)

spring multipartform-data spring-boot

9
推荐指数
1
解决办法
3万
查看次数

启用 /oauth/token 端点 springdoc-openapi-ui

我正在从 升级springfox-swagger2springdoc-openapi-ui. 我在前端使用 swagger 定义来自动生成类型。/oauth/token中缺少端点springdoc-openapi-ui。这是我的配置:

@Configuration
@OpenAPIDefinition(info = @Info(title = "title",
description = "description", version = "v1"))
@SecurityScheme(name = "security_auth", type = SecuritySchemeType.OAUTH2,
flows = @OAuthFlows(password = @OAuthFlow(
        authorizationUrl = "${oauth.auth.url}",
        tokenUrl = "${oauth.auth.url}/oauth/token", refreshUrl = "${oauth.auth.url}",
        scopes = {@OAuthScope(name = "all", description = "all scope")})))
public class OpenApiConfig {}
Run Code Online (Sandbox Code Playgroud)

我有一个身份验证服务器,它是同一应用程序的一部分(与我的资源服务器共享相同的内容)pom.xml。身份验证服务器spring-security-oauth2如下:

@Configuration
@EnableAuthorizationServer
public class AuthorizationServerConfiguration extends AuthorizationServerConfigurerAdapter {

    @Autowired
    private AuthenticationManager authenticationManager;

    @Autowired
    private UserDetailsService userDetailsService;

    @Autowired …
Run Code Online (Sandbox Code Playgroud)

spring-boot spring-security-oauth2 springdoc-openapi-ui

6
推荐指数
1
解决办法
3879
查看次数

在 Sprite Kit 中设置背景颜色

现在,我正在使用此代码来尝试设置背景颜色

[self setBackgroundColor:[[UIColor alloc] initWithRed:(0/255) green:(76/255) blue:(255/255) alpha:1.0]];
Run Code Online (Sandbox Code Playgroud)

我试图得到浅蓝色,但相反,它给了我通常是蓝色的蓝色。如何让它显示我想要的颜色?

ios sprite-kit

3
推荐指数
1
解决办法
6428
查看次数

%p和0x%08x之间有什么区别

这个问题说明了一切.在c中,当试图获取指针或其他东西的地址时,我知道命令:

%p
Run Code Online (Sandbox Code Playgroud)

0x%08x
Run Code Online (Sandbox Code Playgroud)

我知道他们都返回地址,但为什么要使用另一个?

看一下这个:

int main () {

int i[1] = {1};
int *int_pointer;

int_pointer = i;

printf("0x%08x\n",&i);
printf("0x%08x\n", int_pointer);

printf("%p\n",&i);
printf("%p\n", int_pointer);

}
Run Code Online (Sandbox Code Playgroud)

此代码产生此响应:0x60506b00 0x60506b00 0x7ffe60506b00 0x7ffe60506b00

如果两者都引用地址,那么它们是如何不同的,具体取决于你是使用%p还是0x%08x?

实际地址是哪个?

c

2
推荐指数
1
解决办法
5191
查看次数

c - 如何创建配置对象

我想创建一个可以在我的c程序中的任何地方使用的配置对象.

这样做的最佳做法是什么?

目前,我有一个如下所示的config.h:

#define OUTPUT 0
#define OUTPUT_DISPLAY 0
#define OUTPUT_WIDTH 1920
#define OUTPUT_HEIGHT 1080

typedef struct {
        const char *output
        const char *output_display;
        int output_width;
        int output_height;
} config_t;
Run Code Online (Sandbox Code Playgroud)

我会在头文件中创建一个名为config的config_t实例吗?

谢谢

c config

2
推荐指数
1
解决办法
66
查看次数

为什么这个字符串不会溢出缓冲区?

我在mac和linux上运行了这段代码:

#include <stdio.h>
#include <string.h>

int main (int argc, char *argv[]){

    int value = 5;
    char buffer_one[8], buffer_two[8];

    strcpy(buffer_one, "one");
    strcpy(buffer_two, "two");

    printf("[BEFORE] buffer_two is at %p and contains \'%s\'\n", buffer_two, buffer_two);
    printf("[BEFORE] buffer_one is at %p and contains \'%s\'\n", buffer_one, buffer_one);
    printf("[BEFORE] value is at %p and is %i (0x%08x)\n", &value, value, value);

    printf("\n[STRCPY] copying %i bytes into buffer two\n\n", strlen(argv[1]));
    strcpy(buffer_two, argv[1]); 

    printf("[AFTER] buffer_two is at %p and contains \'%s\'\n", buffer_two, buffer_two);
    printf("[AFTER] buffer_one is at %p and …
Run Code Online (Sandbox Code Playgroud)

c buffer

1
推荐指数
1
解决办法
41
查看次数

为什么这个Overflow Occuring?

在以下代码中:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int check_authentication(char *password) {  
    char password_buffer[16];   
    int auth_flag = 0;

    strcpy(password_buffer, password);

    if(strcmp(password_buffer, "brillig") == 0)
        auth_flag = 1;
    if(strcmp(password_buffer, "outgrabe") == 0)
    auth_flag = 1;

    return auth_flag;
}

int  main (int argc, char *argv[]){
    if(argc < 2){
         printf("Usage: %s <password>\n", argv[0]);
        exit(0);    
    }

        if(check_authentication(argv[1])){
        printf("\n-=-=-=-=-=-=-==-=-=-\n");
        printf("  Access Granted\n");
        printf("-=-=-=-=-=-=-==-=-=-\n");
    }
    else {
        printf("Access Denied\n");
    }       
}
Run Code Online (Sandbox Code Playgroud)

如果我运行诸如"AAAAAAAAAAAAAAAAAAAA"之类的东西,某些东西会溢出并导致程序在授予访问权限时运行.我很困惑,因为当我运行gdb调试器时,auth_flag在内存中的password_buffer之前,它从未溢出.

编辑:我知道文本不适合缓冲区,但我正在试验缓冲区溢出以及如何以受控方式利用它们.是的,我们可以让阵列更大,但这不是重点

我想知道是否有人能够告诉我为什么会发生这种情况/什么是溢出导致这种情况.

c

-1
推荐指数
1
解决办法
159
查看次数