[英]How to rename uploaded files asp.net core mvc
[HttpPost]
public async Task<IActionResult> Index(ICollection<IFormFile> files)
{
var uploads = Path.Combine(_environment.WebRootPath, "UploadedFiles/Archives");
foreach (var file in files)
{
if (file.Length > 0)
{
using (var fileStream = new FileStream(Path.Combine(uploads, file.FileName), FileMode.Create))
{
await file.CopyToAsync(fileStream);
}
}
}
return View();
}
我想將“Alumni Survey.pdf”重命名為“2017.pdf”,我該怎么做? 除了我想限制用戶只能上傳 .pdf 文件,我應該搜索什么?
我想將“Alumni Survey.pdf”重命名為“2017.pdf”,我該怎么做?
只是不要使用file.FileName
並將其命名為您想要的任何名稱。
[HttpPost]
public async Task<IActionResult> Index(ICollection<IFormFile> files) {
var uploads = Path.Combine(_environment.WebRootPath, "UploadedFiles/Archives");
foreach (var file in files) {
if (file.Length > 0) {
using (var fileStream = new FileStream(Path.Combine(uploads, "<My file name here>"), FileMode.Create)) {
await file.CopyToAsync(fileStream);
}
}
}
return View();
}
請注意,由於您有一組文件,因此在命名它們時需要滿足上傳中的多個文件。 不能全部命名。
我想限制用戶只能上傳 .pdf 文件,
對於文件限制,請使用文件輸入標簽中的accept
屬性accept="application/pdf"
<input type="file"
class="form-control"
id="files"
name="files"
accept="application/pdf">
public IActionResult FileUpload()
{
try
{
var file = Request.Form.Files[0];
var folderName = Path.Combine("Resources", "Files");
var pathToSave = Path.Combine(Directory.GetCurrentDirectory(), folderName);
if (file.Length > 0)
{
var fileName = ContentDispositionHeaderValue.Parse(file.ContentDisposition).FileName.Trim('"');
//var fullPath = Path.Combine(pathToSave, fileName);
string renameFile = Convert.ToString(Guid.NewGuid()) + "." + fileName.Split('.').Last();
var fullPath = Path.Combine(pathToSave, renameFile);
var dbPath = Path.Combine(folderName, fileName);
using (var stream = new FileStream(fullPath, FileMode.Create))
{
file.CopyTo(stream);
}
return Ok(new { renameFile });
}
else
{
return BadRequest();
}
}
catch (Exception ex)
{
return StatusCode(500, "Internal server error");
}
}`
要重命名文件,請使用如下所示的Move 。 對於 oldFilePath 和 newFilePath 把你以前的文件路徑和要更改的新文件名的文件路徑。
System.IO.File.Move(oldFilePath, newFilePath);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.