从过去的 10 天开始,我尝试了网上提供的许多方法/示例/教程来解决我的问题。但是,对于所有这些情况我都失败了。 我想上传特定/多个产品的图片,将它们保存在数据库中并通过调用它们的ID将它们显示在主页中。任何人都可以为此提供逐步示例/教程/链接。 请不要给出部分答案/建议。因为我已经厌倦了那些。
我刚刚解决了我的问题,这是解决方案:
这是我的模型课
public class Picture
{
public int PictureId { get; set; }
public IEnumerable<HttpPostedFile> Image { get; set; }
public string Name { get; set; }
public long Size { get; set; }
public string Path { get; set; }
}
这是我的控制器
[HttpPost]
public void Upload() //Here just store 'Image' in a folder in Project Directory
// name 'UplodedFiles'
{
foreach (string file in Request.Files)
{
var postedFile = Request.Files[file];
postedFile.SaveAs(Server.MapPath("~/UploadedFiles/") + Path.GetFileName(postedFile.FileName));
}
}
public ActionResult List() //I retrive Images List by using this Controller
{
var uploadedFiles = new List<Picture>();
var files = Directory.GetFiles(Server.MapPath("~/UploadedFiles"));
foreach(var file in files)
{
var fileInfo = new FileInfo(file);
var picture = new Picture() { Name = Path.GetFileName(file) };
picture.Size = fileInfo.Length;
picture.Path = ("~/UploadedFiles/") + Path.GetFileName(file);
uploadedFiles.Add(picture);
}
return View(uploadedFiles);
}
这是我的“索引”视图
@using(Html.BeginForm("Upload", "Picture", FormMethod.Post,
new { enctype="multipart/form-data" })){
<div>
Select a file: <input type="file" name="fileUpload" />
<input type="submit" value="Upload" />
</div> }
通过这个“列表”视图,我显示图像列表:
<table>
<tr>
<td> Name </td>
<td> Size </td>
<td> Preview </td>
</tr>
@foreach (var file in Model)
{
<tr>
<td> @file.Name </td>
<td> @file.Size </td>
<td>
<img src="@Url.Content(file.Path)"/>
</td>
</tr>
}
使用[技术任务] 去 设置 ANSI_NULLS 为开 去 将 QUOTED_IDENTIFIER 设置为 ON 去 更改过程 [dbo].[SPEmployee] ( @EmpID int=null, @EmpName nvarchar(250)=null, @EmpContact nvarchar(16) =null, @EmpAddress nvarchar(250)=null, @EmpSalary int=null, @附件nvarchar(MAX)=空, @Flag nvarchar(50)=null ) AS
开始 IF(@Flag='获取员工数据') 开始 从 tblEmployee 中选择 EmpID、EmpName、EmpAddress、EmpContact、EmpSalary、附件 结束
IF(@Flag='添加员工数据') 开始 插入 tblEmployee VALUES(@EmpName,@EmpContact,@EmpAddress,@EmpSalary,@Attachment) 结束
IF(@Flag='删除员工数据') 开始 从 tblEmployee WHERE EmpID=@EmpID 中删除 结束
IF(@Flag='更新员工数据') 开始 从 tblEmployee WHERE EmpID=@EmpID 中选择 EmpID、EmpName、EmpAddress、EmpContact、EmpSalary、附件 结束
IF(@Flag='UpdateEmployee') 开始 UPDATE tblEmployee SET EmpName=@EmpName、EmpContact=@EmpContact、EmpAddress=@EmpAddress、EmpSalary=@EmpSalary、Attachment=@Attachment WHERE EmpID=@EmpID 结尾 结束