AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-13894850

Tim's questions

Martin Hope
Tim
Asked: 2025-03-08 12:38:21 +0800 CST

如何将十进制值从数据库传递到 DTO 而不会出现未找到匹配的构造函数错误?

  • 6

我有一个 Java 应用程序,它使用 EntityManager 来查询 Oracle 数据库并填充一个简单的 DTO 类。

这对于 varchar 和字符串来说很好 - 但会引发错误:

无法确定适当的实例化策略 - 未找到匹配的构造函数,并且一个或多个参数未定义 bean 注入的别名

当我尝试传递十进制值时。我尝试将 DTO 中的类型设为 Double、double 和 BigDecimal - 但仍然收到错误

另外 - 当它在 Java 8 上运行时,它曾经有效。我不得不升级到 Java 17,然后它开始抛出错误。

@PersistenceContext
private EntityManager em;

String hql = "SELECT new my.example.MyDTO(mt.intVal as intVal, mt.decVal as decVal) " +
             "FROM MyTable mt " +
             "WHERE mt.id = 1234";

TypedQuery<MyDTO> findInsultsQuery = em.createQuery(hql, MyDTO.class);

//Here is where it gets the error - because of the mt.decVal
List<MyDTO> results = findInsultsQuery.getResultList();

这是 DTO 类。我还尝试过将第二个参数设为 Double、double、Float 和 float。它总是抛出不匹配的构造函数错误。

public MyDTO(BigInteger intVal, BigDecimal decVal) {

}

有什么建议吗?

java
  • 2 个回答
  • 51 Views
Martin Hope
Tim
Asked: 2025-02-12 05:57:34 +0800 CST

Amazaon S3Client 可以列出存储桶,但在尝试执行 putObject 时会引发 UnknownHostException

  • 5

我有一个 Java 应用程序正在尝试使用 S3Client 将文件保存到 S3 存储空间。

经过反复试验后,我能够连接并通过创建 S3Client 并验证我是否取回了预期的存储桶列表来证明这一点。

    String accessKeyId = "MyAccessKeyId";
    String secretAccesskey = "MySecretAccessKey";

    StaticCredentialsProvider credentialsProvider = StaticCredentialsProvider.create(
                AwsBasicCredentials.create(accessKeyId, secretAccesskey));
        
    // Create S3 client
    S3Client s3Client = S3Client.builder()
            .credentialsProvider(credentialsProvider)
            .region(Region.US_EAST_1)
            .endpointOverride(URI.create("https://cees3.bhinc.gov:10444"))
            .overrideConfiguration(ClientOverrideConfiguration.builder()
            .build())
        .build();

    //I've verified that I'm getting back an expected list of buckets
    ListBucketsResponse listBucketsResponse = s3Client.listBuckets();

当我尝试将文件实际放入其中一个存储桶时,却出现以下错误:

software.amazon.awssdk.core.exception.SdkClientException:收到 UnknownHostException

我不明白为什么我会收到那个特定的错误,因为似乎我在尝试列出存储桶时也会收到同样的错误。

这是我尝试上传文件的代码 - 正如您所看到的,这基本上是同一件事,只是我试图将文件上传到其中一个存储桶,而不是列出存储桶。

    String accessKeyId = "MyAccessKeyId";
    String secretAccesskey = "MySecretAccessKey";

    StaticCredentialsProvider credentialsProvider = StaticCredentialsProvider.create(
                AwsBasicCredentials.create(accessKeyId, secretAccesskey));
        
    // Create S3 client
    S3Client s3Client = S3Client.builder()
            .credentialsProvider(credentialsProvider)
            .region(Region.US_EAST_1)
            .endpointOverride(URI.create("https://cees3.bhinc.gov:10444"))
            .overrideConfiguration(ClientOverrideConfiguration.builder()
            .build())
        .build();


    String bucketName = "testbucket2";
    String testFilePath = "C:\\Users\\charlie\\Downloads\\test.png";
    
    // Upload a file
    File file = new File(testFilePath);
    try (FileInputStream fileInputStream = new FileInputStream(file)) {

            String fileExtension = Files.probeContentType(Paths.get(testFilePath));           
            PutObjectRequest request = PutObjectRequest.builder()
                .bucket(bucketName)
                .key(accessKeyId)
                .contentType(fileExtension)
                .build();
      
            // Get the file content as a byte array               
            byte[] bytes = fileInputStream.readAllBytes();
            
            s3Client.putObject(request, RequestBody.fromBytes(bytes));

            System.out.println("File uploaded successfully: " + "test.png");
    } catch (IOException e) {
            System.err.println("Error uploading file: " + e.getMessage());
    }

但是一旦到达 s3Client.putObject,它就会抛出 UnknownHostException。

有什么想法可以解释为什么我在尝试上传文件时会遇到这种情况,但在仅列出现有存储桶时却不会遇到这种情况?

谢谢

  • 1 个回答
  • 36 Views
Martin Hope
Tim
Asked: 2024-12-03 09:11:12 +0800 CST

在 p-fileUpload 的 (onRemove) 函数中,是否可以获取剩余文件的列表?

  • 6

我有一个 PrimeNG Angular 应用程序,它使用 p-fileUpload,并将其 [multiple] 标签设置为 true。

我想保留列表中待处理文件的运行列表 - 包括添加文件后以及从列表中删除文件时。

当添加文件时,这没有问题。

我只是在 html 中这样做......

<p-fileUpload #fileUpload 
    (onSelect)=onFilesSelectedToUpload($event.currentFiles)"
    [multiple]="true">

...然后在 typescript 文件中我只需执行以下操作:

onFilesSelectedToUpload(files: any[]) {
    files.forEach(file => {
        //Free to do whatever I want with each added file
    }
}

不过,我想在 (onRemove) 事件上执行相同的操作 - 只是我只能获取要删除的文件。

想要做这样的事:

<p-fileUpload #fileUpload 
    (onSelect)=onFilesSelectedToUpload($event.currentFiles)"
    (onRemove)=onFileRemoved($event.currentFiles)"
    [multiple]="true">

onFileRemoved(files: any[]) {
    files.forEach(file => {
        //Free to do whatever I want with the remaining files
        //I don't even care about the file that's been removed!
    }
}

但我当然不能,因为(onRemoved)只关心被删除的文件,并且只允许我做这样的事情:

<p-fileUpload #fileUpload 
    (onSelect)=onFilesSelectedToUpload($event.currentFiles)"
    (onRemove)=onFileRemoved($event.file)"
    [multiple]="true">

onFileRemoved(file: any) {
    //How can I get a list of the remaining files?
}

有什么建议吗?

谢谢你!

angular
  • 1 个回答
  • 17 Views
Martin Hope
Tim
Asked: 2024-11-13 07:05:58 +0800 CST

如果路径参数中有“。”,您能对 UntypedFormGroup 执行 get(<path>) 吗?

  • 6

我有一个 Angular 应用程序,它使用 UntypedFormGroup 来存储和检索来自用户的输入值。

我使用 addControl 函数向 UntypedFormGroup 添加控件,如下所示:

this.myUntypedFormGroup.addControl('mypath', new UntypedFormControl());

然后像这样检索值:

this.myUntypedFormGroup.get('mypath').value

这工作正常 - 除非我想在路径参数中使用句点。

例如,如果我希望路径是 pdf 文件的名称:

this.myUntypedFormGroup.addControl('myfile.pdf', new UntypedFormControl());

当我尝试检索它时,它返回一个空指针异常:

this.myUntypedFormGroup.get('myfile.pdf').value

我想我明白了为什么会这样——它解释了 mypdffile.pdf 中的句点,表示“pdf”应该是“myfile”的子控件,因此当它找不到名为“pdf”的子控件时它就会死机。

有没有办法对句点字符进行转义,以便将其作为路径字符串的文字部分,而不是假设存在子控件?

非常感谢。

angular
  • 1 个回答
  • 18 Views
Martin Hope
Tim
Asked: 2024-11-12 07:10:41 +0800 CST

如何从可变长度表中获取输入值

  • 6

我有一个 Angular 应用程序,它有一个可变长度的表,我希望用户能够在其中为每一行输入值。

这是我正在尝试做的事情的基本内容。

在用户从 p-fileUpload 中选择了多个文件后,我希望能够在表中显示每个文件并允许他们为每条记录添加附加数据(元数据)。

<tbody>
  <tr *ngFor="let file of files; let ii = index">
    <td>{{ file.name }}</td>    
    <td>{{ file.size }}</td>   
    <td>{{ file.type }}</td>                   
    <td>
      <!--Would like to be able to grab this value here-->
      <input type="text" placeholder="Enter Title">
    </td>
  </tr>
</tbody>

我认为这应该相对简单,但到目前为止我还没有想出解决方案。如果我尝试通过为文本输入分配 formControlName 或 ngModel 来实现这一点,那么这些方法实际上不起作用,因为它们是为单个输入组件设计的,而不是表格中的多个输入组件之一。

有没有办法为每一行的输入分配其自己的唯一标识符,然后获取 ts 文件中的值?

谢谢!

html
  • 1 个回答
  • 28 Views
Martin Hope
Tim
Asked: 2024-11-08 02:44:20 +0800 CST

是否可以在 httpClient.post 中发送 FormData 对象数组?

  • 7

我有一个带有 Java 后端的 Angular 前端应用程序,用户可以在其中选择一个文档然后保存它。

为此,我一直在将 FormData 对象从前端发送到后端,没有任何问题。

这是我当前在前端所拥有的用于将单个文件的内容发送到后端的片段:

public postSaveDocument(entityType: DocumentEntityType, id: number, body: DocumentInputDto): Observable<Upload<UploadWithLockResultsDto>> {

    const url = `${DocumentationService.baseUrl}/${getUrlSegment(entityType)}/${id}/documents`;

     //Create a FormData object and set the values of the document
     const formData = new FormData();
     formData.append('documentId', this.documentId.toString());
     formData.append('title', this.title);
     formData.append('content', this.content, this.content.name);
    


    return this.httpClient.post(url, formData,
      {...DocumentationService.options, reportProgress: true, observe: 'events', responseType: 'json'})
      .pipe(upload<UploadWithLockResultsDto>());



}

以下是我在后端保存该文件的操作:

@PostMapping("/{documentEntityType}/{entityId}/documents")
    public ResponseEntity<UploadWithLockResultsDto> saveDocument(
           @PathVariable("documentEntityType") DocumentEntityType documentEntityType,
           @PathVariable("entityId") Integer entityId,
           DocumentInputDto documentInputDto,
                                   ) throws AuthException, IOException {

           //Save the updates to the database
           var uploadWithLockResultsDto = documentService.documentUpdate(documentInputDto, authentication.getName(), authentication.getPrincipal());
           return handleUploadWithLockResults(uploadWithLockResultsDto);
   
}

这对于保存单个文档来说非常好。

现在我想要做的是允许用户一次选择多个文档,并在将它们发送到后端时一次性保存它们。

到目前为止,这件事还没有进展。

我尝试将数据放入前端的 FormData 对象数组中

public postSaveDocuments(entityType: DocumentEntityType, id: number, body: DocumentInputDto[]): Observable<Upload<UploadWithLockResultsDto>> {

    const formDataArray: any[] = [];
    body.forEach(documentInputDto => {

      const formData = new FormData();
      formData.append('documentId', this.documentId.toString());
      formData.append('title', this.title);
      formData.append('content', this.content, this.content.name);
      formDataArray.push(formData);
    });

    return this.httpClient.post(url, formDataArray,
      {...DocumentationService.options, reportProgress: true, observe: 'events', responseType: 'json'})
      .pipe(upload<UploadWithLockResultsDto>());
}

然后我尝试在后端将其作为数组提取出来

@PostMapping("/{documentEntityType}/{entityId}/documents")
    public ResponseEntity<UploadWithLockResultsDto> saveDocument(
           @PathVariable("documentEntityType") DocumentEntityType documentEntityType,
           @PathVariable("entityId") Integer entityId,
           DocumentInputDto[] documentInputDtos,
                                   ) throws AuthException, IOException {

           //Save the docs to the database
           var uploadWithLockResultsDto = documentService.updateDocuments(documentInputDtos, authentication.getName(), authentication.getPrincipal());
           return handleUploadWithLockResults(uploadWithLockResultsDto);
   
}

毫不奇怪,这不起作用。它甚至从未到达后端。我意识到 FormData 对象数组可能不应该从前端发送到后端。

有人能指出我正确的方向吗,如何修改调用,以便从前端向后端发送多个 FormData 对象?

非常感谢。

angular
  • 2 个回答
  • 33 Views
Martin Hope
Tim
Asked: 2024-11-05 02:07:19 +0800 CST

您能否在 p-fileUpload 表中添加额外的列以允许与每个文件关联的元数据?

  • 6

我有一个带有 Angular/html 前端的应用程序,其中有一个 p-fileUpload 组件,允许用户一次上传多个文件。

这很简单,我只需要在 html 文件中向组件添加 [多个] 即可。

<p-fileUpload #fileUpload styleClass="col-12" chooseStyleClass="col-3" 
              chooseLabel="Choose File(s)..."
              [multiple]="true">
</p-fileUpload>

它允许用户将多个文件上传到一个表中,该表显示每个文件的名称及其大小,如下所示......

在此处输入图片描述

我想要做的是向 p-fileUpload 组件添加可编辑的列,以便表也可以容纳与每个文件相关的元数据。

该表格看起来像这样,用户还可以添加与每个文件相关的标题、文档类型和注释:

它看起来像这样:

在此处输入图片描述

有什么建议吗?

提前致谢。

html
  • 1 个回答
  • 34 Views
Martin Hope
Tim
Asked: 2023-12-24 14:20:46 +0800 CST

在 SQL Developer 中使用游标为每条记录生成后续查询

  • 5

我有一个 SQL Developer 查询,我想在其中使用游标来生成后续的选择语句。

但是,我做错了什么。我似乎没有正确使用光标。

到目前为止,这是我的代码。非常感谢。

DECLARE

  numMaterials  NUMBER := 0;

  CURSOR item_id_cur
      IS
       select id from item_h
       where value = 'myvalue';
                 
    l_item_id   item_id_cur%ROWTYPE;
BEGIN

  OPEN item_id_cur;

  LOOP
    FETCH item_id_cur INTO l_item_id;
    EXIT WHEN item_id_cur%NOTFOUND;

    SELECT count(*)
     INTO numMaterials
     FROM item_material_h
        WHERE fk_item = l_item_id;    --Does NOT like this line!!
    
    DBMS_OUTPUT.put_line (numMaterials);
   
  END LOOP; 
END;
oracle
  • 1 个回答
  • 23 Views
Martin Hope
Tim
Asked: 2023-12-17 09:32:08 +0800 CST

在 Cypress 中,您可以在 Element 上调用 .click() 方法而不识别错误吗?

  • 7

我有一个 Angular 应用程序,正在为其创建 Cypress E2E。

该应用程序的一个页面有一个表,其中第三列包含一个类名“link ng-star-inserted”的链接,我希望测试在找到特定行后单击该链接。

我实际上已经进行了执行此操作的测试 - 事实上该链接已被单击。

但它不是很优雅,并且它将 .click() 方法标记为错误(即使它确实有效)。

我正在寻找一种方法,让它不将 .click() 方法标记为错误。

这是我的代码...

cy.get(SELECTOR.dataTableBody).should('be.visible')
        .contains('tr', 'Text I am looking for in the row I want')
        .then($row => {
            cy.log('found it');
            cy.log('on row ' + $row.index());

            //Yes this is kind of ugly.  I tried it every other way I could think of and this is the only way it worked
            let cellWithLink = $row.find('td:nth-child(3)');
            cellWithLink.children().get(0).getElementsByClassName('link ng-star-inserted').item(0).click();
            
});

这是 IDE 将 click() 标记为错误的镜头 - 尽管它确实有效。

在此输入图像描述

非常感谢!

angular
  • 1 个回答
  • 31 Views
Martin Hope
Tim
Asked: 2023-12-14 09:36:32 +0800 CST

在 Cypress 中,你能找到表中包含特定文本的第一行吗?

  • 6

我对赛普拉斯测试比较陌生。

我有一个表,其中有多行包含特定文本,我只想获取第一行。

到目前为止,我想出的唯一方法是遍历表中的所有行以查找文本。这不仅丑陋,而且还阻止测试仅作用于它找到的第一行。

这是我有点笨拙的代码:

const SELECTOR = {
    dataTableBody: '.p-datatable-tbody'
} as const;


cy.assertVisible(SELECTOR.dataTableBody);
cy.then(() => {
    cy.get(SELECTOR.dataTableBody).then($tbody => {
        cy.get(SELECTOR.dataTableBody).find('tr').each($row => {
            if (($row.find('td:nth-child(1)').text().trim()) === 'MyText') {

                    //I only want it to get here on the FIRST row that has 'MyText'
            }
        });
    });
});

谢谢!

angular
  • 1 个回答
  • 26 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    重新格式化数字,在固定位置插入分隔符

    • 6 个回答
  • Marko Smith

    为什么 C++20 概念会导致循环约束错误,而老式的 SFINAE 不会?

    • 2 个回答
  • Marko Smith

    VScode 自动卸载扩展的问题(Material 主题)

    • 2 个回答
  • Marko Smith

    Vue 3:创建时出错“预期标识符但发现‘导入’”[重复]

    • 1 个回答
  • Marko Smith

    具有指定基础类型但没有枚举器的“枚举类”的用途是什么?

    • 1 个回答
  • Marko Smith

    如何修复未手动导入的模块的 MODULE_NOT_FOUND 错误?

    • 6 个回答
  • Marko Smith

    `(表达式,左值) = 右值` 在 C 或 C++ 中是有效的赋值吗?为什么有些编译器会接受/拒绝它?

    • 3 个回答
  • Marko Smith

    在 C++ 中,一个不执行任何操作的空程序需要 204KB 的堆,但在 C 中则不需要

    • 1 个回答
  • Marko Smith

    PowerBI 目前与 BigQuery 不兼容:Simba 驱动程序与 Windows 更新有关

    • 2 个回答
  • Marko Smith

    AdMob:MobileAds.initialize() - 对于某些设备,“java.lang.Integer 无法转换为 java.lang.String”

    • 1 个回答
  • Martin Hope
    Fantastic Mr Fox msvc std::vector 实现中仅不接受可复制类型 2025-04-23 06:40:49 +0800 CST
  • Martin Hope
    Howard Hinnant 使用 chrono 查找下一个工作日 2025-04-21 08:30:25 +0800 CST
  • Martin Hope
    Fedor 构造函数的成员初始化程序可以包含另一个成员的初始化吗? 2025-04-15 01:01:44 +0800 CST
  • Martin Hope
    Petr Filipský 为什么 C++20 概念会导致循环约束错误,而老式的 SFINAE 不会? 2025-03-23 21:39:40 +0800 CST
  • Martin Hope
    Catskul C++20 是否进行了更改,允许从已知绑定数组“type(&)[N]”转换为未知绑定数组“type(&)[]”? 2025-03-04 06:57:53 +0800 CST
  • Martin Hope
    Stefan Pochmann 为什么 {2,3,10} 和 {x,3,10} (x=2) 的顺序不同? 2025-01-13 23:24:07 +0800 CST
  • Martin Hope
    Chad Feller 在 5.2 版中,bash 条件语句中的 [[ .. ]] 中的分号现在是可选的吗? 2024-10-21 05:50:33 +0800 CST
  • Martin Hope
    Wrench 为什么双破折号 (--) 会导致此 MariaDB 子句评估为 true? 2024-05-05 13:37:20 +0800 CST
  • Martin Hope
    Waket Zheng 为什么 `dict(id=1, **{'id': 2})` 有时会引发 `KeyError: 'id'` 而不是 TypeError? 2024-05-04 14:19:19 +0800 CST
  • Martin Hope
    user924 AdMob:MobileAds.initialize() - 对于某些设备,“java.lang.Integer 无法转换为 java.lang.String” 2024-03-20 03:12:31 +0800 CST

热门标签

python javascript c++ c# java typescript sql reactjs html

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve