私の MVC プロジェクトには、ファイルをアップロードするためのフォームがあります。Google Chrome、Firefox、または Opera を使用してファイルをアップロードすると、Inventory_June_2013.xlsx
.
IE8 を使用してファイルをアップロードすると、 のようなファイル名が取得されます
C:\Documents and Settings\gornel\My Documents\Inventory_June_2013.xlsx
。
これを修正する方法は?
UPD
これは私のFile.csです
using System;
using System.ComponentModel.DataAnnotations;
namespace Argussite.SupplierService.Core.Domain
{
public class File : Entity
{
public const int ContentTypeLength = 100;
public const int FileNameLength = 100;
public const int StorageNameLength = 100;
protected File()
{}
public File(string name, string contentType, long fileSize)
{
Name = name;
ContentType = contentType;
FileSize = fileSize;
StorageName = Guid.NewGuid().ToString("D");
UploadTime = DateTime.Now;
}
[Required, MaxLength(FileNameLength)]
public string Name { get; set; }
[Required, MaxLength(ContentTypeLength)]
public string ContentType { get; set; }
public long FileSize { get; set; }
[Required, MaxLength(StorageNameLength)]
public string StorageName { get; set; }
public DateTime UploadTime { get; set; }
}
}
そして、それはコントローラーからのコードです
public ActionResult UploadFile(Guid eventId, HttpPostedFileBase file)
{
//...
var document = new File(file.FileName, file.ContentType, file.ContentLength);
@event.FileId = document.Id;
@event.ActualDate = document.UploadTime;
Context.Files.Add(document);
file.SaveAs(GetFilePath(document.StorageName));
Register(new DocumentUploadedNotification(@event, @event.DocumentType, document, UrlBuilder));
return RedirectToAction("Details", "Suppliers", new { id = @event.SupplierId });
}
クラス HttpPostedFileBase とプロパティ FileName を使用します。