Skip to content

Commit 43ef580

Browse files
Fixed content type issue (#25702)
1 parent 12f92db commit 43ef580

File tree

5 files changed

+32
-12
lines changed

5 files changed

+32
-12
lines changed

src/Components/Web.JS/dist/Release/blazor.server.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/Components/Web.JS/dist/Release/blazor.webassembly.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/Components/Web.JS/src/InputFile.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ interface BrowserFile {
1414
lastModified: string;
1515
name: string;
1616
size: number;
17-
type: string;
17+
contentType: string;
1818
readPromise: Promise<ArrayBuffer> | undefined;
1919
arrayBuffer: ArrayBuffer | undefined;
2020
}
@@ -42,7 +42,7 @@ function init(callbackWrapper: any, elem: InputElement): void {
4242
lastModified: new Date(file.lastModified).toISOString(),
4343
name: file.name,
4444
size: file.size,
45-
type: file.type,
45+
contentType: file.type,
4646
readPromise: undefined,
4747
arrayBuffer: undefined,
4848
};
@@ -86,7 +86,7 @@ async function toImageFile(elem: InputElement, fileId: number, format: string, m
8686
lastModified: originalFile.lastModified,
8787
name: originalFile.name,
8888
size: resizedImageBlob?.size || 0,
89-
type: format,
89+
contentType: format,
9090
readPromise: undefined,
9191
arrayBuffer: undefined,
9292
};

src/Components/test/E2ETest/Tests/InputFileTest.cs

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
using System.Text;
88
using BasicTestApp;
99
using BasicTestApp.FormsTest;
10-
using Microsoft.AspNetCore.Components.E2ETest;
1110
using Microsoft.AspNetCore.Components.E2ETest.Infrastructure;
1211
using Microsoft.AspNetCore.Components.E2ETest.Infrastructure.ServerFixtures;
1312
using Microsoft.AspNetCore.E2ETesting;
@@ -50,11 +49,17 @@ public void CanUploadSingleSmallFile()
5049
inputFile.SendKeys(file.Path);
5150

5251
var fileContainer = Browser.FindElement(By.Id($"file-{file.Name}"));
52+
var fileNameElement = fileContainer.FindElement(By.Id("file-name"));
53+
var fileLastModifiedElement = fileContainer.FindElement(By.Id("file-last-modified"));
5354
var fileSizeElement = fileContainer.FindElement(By.Id("file-size"));
55+
var fileContentTypeElement = fileContainer.FindElement(By.Id("file-content-type"));
5456
var fileContentElement = fileContainer.FindElement(By.Id("file-content"));
5557

56-
// Validate that the file was uploaded correctly
58+
// Validate that the file was uploaded correctly and all fields are present
59+
Browser.False(() => string.IsNullOrWhiteSpace(fileNameElement.Text));
60+
Browser.NotEqual(default, () => DateTimeOffset.Parse(fileLastModifiedElement.Text));
5761
Browser.Equal(file.Contents.Length.ToString(), () => fileSizeElement.Text);
62+
Browser.Equal("text/plain", () => fileContentTypeElement.Text);
5863
Browser.Equal(file.Text, () => fileContentElement.Text);
5964
}
6065

@@ -77,11 +82,17 @@ public void CanUploadSingleLargeFile()
7782
inputFile.SendKeys(file.Path);
7883

7984
var fileContainer = Browser.FindElement(By.Id($"file-{file.Name}"));
85+
var fileNameElement = fileContainer.FindElement(By.Id("file-name"));
86+
var fileLastModifiedElement = fileContainer.FindElement(By.Id("file-last-modified"));
8087
var fileSizeElement = fileContainer.FindElement(By.Id("file-size"));
88+
var fileContentTypeElement = fileContainer.FindElement(By.Id("file-content-type"));
8189
var fileContentElement = fileContainer.FindElement(By.Id("file-content"));
8290

83-
// Validate that the file was uploaded correctly
91+
// Validate that the file was uploaded correctly and all fields are present
92+
Browser.False(() => string.IsNullOrWhiteSpace(fileNameElement.Text));
93+
Browser.NotEqual(default, () => DateTimeOffset.Parse(fileLastModifiedElement.Text));
8494
Browser.Equal(file.Contents.Length.ToString(), () => fileSizeElement.Text);
95+
Browser.Equal("text/plain", () => fileContentTypeElement.Text);
8596
Browser.Equal(file.Text, () => fileContentElement.Text);
8697
}
8798

@@ -97,14 +108,21 @@ public void CanUploadMultipleFiles()
97108
var inputFile = Browser.FindElement(By.Id("input-file"));
98109
inputFile.SendKeys(string.Join("\n", files.Select(f => f.Path)));
99110

100-
// VAlidate that each file was uploaded correctly
111+
// Validate that each file was uploaded correctly
101112
Assert.All(files, file =>
102113
{
103114
var fileContainer = Browser.FindElement(By.Id($"file-{file.Name}"));
115+
var fileNameElement = fileContainer.FindElement(By.Id("file-name"));
116+
var fileLastModifiedElement = fileContainer.FindElement(By.Id("file-last-modified"));
104117
var fileSizeElement = fileContainer.FindElement(By.Id("file-size"));
118+
var fileContentTypeElement = fileContainer.FindElement(By.Id("file-content-type"));
105119
var fileContentElement = fileContainer.FindElement(By.Id("file-content"));
106120

121+
// Validate that the file was uploaded correctly and all fields are present
122+
Browser.False(() => string.IsNullOrWhiteSpace(fileNameElement.Text));
123+
Browser.NotEqual(default, () => DateTimeOffset.Parse(fileLastModifiedElement.Text));
107124
Browser.Equal(file.Contents.Length.ToString(), () => fileSizeElement.Text);
125+
Browser.Equal("text/plain", () => fileContentTypeElement.Text);
108126
Browser.Equal(file.Text, () => fileContentElement.Text);
109127
});
110128
}

src/Components/test/testassets/BasicTestApp/FormsTest/InputFileComponent.razor

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,11 @@ Max allowed files:
2727
@foreach (var (file, content) in loadedFiles)
2828
{
2929
<p id="file-@(file.Name)">
30-
<strong>File name:</strong> @(file.Name)<br />
31-
<strong>File size (bytes):</strong> <span id="file-size">@(file.Size)</span><br />
32-
<strong>File content:</strong> <span id="file-content">@content</span><br />
30+
<strong>Name:</strong> <span id="file-name">@(file.Name)</span><br />
31+
<strong>Last modified:</strong> <span id="file-last-modified">@(file.LastModified.ToString())</span><br />
32+
<strong>Size (bytes):</strong> <span id="file-size">@(file.Size)</span><br />
33+
<strong>Content type:</strong> <span id="file-content-type">@(file.ContentType)</span><br />
34+
<strong>Content:</strong> <span id="file-content">@content</span><br />
3335
</p>
3436
}
3537

0 commit comments

Comments
 (0)