Asp.net 为上载的文件创建新文件夹-Razor引擎
我正在查看这个教程 在本主题中,我看到可以将各种文件发送到目标文件夹 我的问题是,当用户发送一个或多个文件时,如何创建新目录Asp.net 为上载的文件创建新文件夹-Razor引擎,asp.net,razor,asp.net-webpages,Asp.net,Razor,Asp.net Webpages,我正在查看这个教程 在本主题中,我看到可以将各种文件发送到目标文件夹 我的问题是,当用户发送一个或多个文件时,如何创建新目录 @using Microsoft.Web.Helpers; @{ var message = ""; if (IsPost) { var fileName = ""; var fileSavePath = ""; int numFiles = Request.Files.Count; int uploadedCount = 0; for(in
@using Microsoft.Web.Helpers;
@{
var message = "";
if (IsPost) {
var fileName = "";
var fileSavePath = "";
int numFiles = Request.Files.Count;
int uploadedCount = 0;
for(int i =0; i < numFiles; i++) {
var uploadedFile = Request.Files[i];
if (uploadedFile.ContentLength > 0) {
fileName = Path.GetFileName(uploadedFile.FileName);
fileSavePath = Server.MapPath("~/uploadedFiles/" + fileName);
uploadedFile.SaveAs(fileSavePath);
uploadedCount++;
}
}
message = "File upload complete. Total files uploaded: " + uploadedCount.ToString();
}
}
<!DOCTYPE html>
<html>
<head><title>FileUpload - Multiple File Example</title></head>
<body>
<form id="myForm" method="post"
enctype="multipart/form-data"
action="">
<div>
<h1>File Upload - Multiple-File Example</h1>
@if (!IsPost) {
@FileUpload.GetHtml(
initialNumberOfFiles:2,
allowMoreFilesToBeAdded:true,
includeFormTag:true,
addText:"Add another file",
uploadText:"Upload")
}
<span>@message</span>
</div>
</form>
</body>
</html>
@使用Microsoft.Web.Helpers;
@{
var message=“”;
如果(IsPost){
var fileName=“”;
var fileSavePath=“”;
int numFiles=Request.Files.Count;
int uploadedCount=0;
对于(int i=0;i0){
fileName=Path.GetFileName(uploadedFile.fileName);
fileSavePath=Server.MapPath(“~/uploadedFiles/”+文件名);
uploadedFile.SaveAs(fileSavePath);
uploadedCount++;
}
}
message=“文件上载完成。上载的文件总数:”+uploadedCount.ToString();
}
}
FileUpload-多文件示例
文件上载-多文件示例
@如果(!IsPost){
@FileUpload.GetHtml(
initialNumberOfFiles:2,
AllowMoreFilesToHeadded:true,
是的,
addText:“添加另一个文件”,
上传文本:“上传”)
}
@信息
在保存文件之前,创建所需的文件夹。将自动在指定路径中创建您的文件夹和任何其他不存在的文件夹。创建目标文件夹后,只需将文件保存到该位置
if (uploadedFile.ContentLength > 0) {
fileName = Path.GetFileName(uploadedFile.FileName);
string pathToSave = Server.MapPath("~/") + "/uploadedFiles/" + yourCustomFolderName;
Directory.CreateDirectory(pathToSave);
fileSavePath = pathToSave + fileName;
uploadedFile.SaveAs(fileSavePath);
uploadedCount++;
}
感谢@Andrei V的回答,我试图将您的代码复制到teste,并得到以下错误:编译器错误消息:CS1026:)预期源错误:编译器错误消息:CS1026:)预期源错误:第13行:fileName=Path.GetFileName(uploadedFile.fileName);第14行:第15行:字符串pathToSave=Server.MapPath(“~/uploadedFiles/”+yourCustomFolderName第16行:Directory.CreateDirectory(pathToSave);第17行:@Nibbler,我忘了关闭括号。请立即检查。如果仍然出现错误,请发布其内容,而不仅仅是发生错误的那一行。编译器错误消息:CS1002:;预期第15行:string pathToSave=Server.MapPath(“~/”+”/uploadedFiles/)+yourCustomFolderName已更新。请注意,您需要声明一个变量
yourCustomFolderName
,该变量包含要保存的(子)文件夹的名称或硬编码值,如“dataFiles”。好的,经过一些尝试和研究,我得出了以下结论:uploadedFile.SaveAs(Path.Combine(pathToSave,fileName));而且效果很好。再次感谢您的指导