HttpPostedFileBase picture
引数として取るコントローラーメソッドがあります。もちろん、フォームから画像をロードするために使用されます。しかし今、そのメソッドを使用して、別のメソッドからファイルをロードしたいと考えています。画像へのパスを使用して、コードで HttpPostedFileBase ファイルを作成できますか? または、別のソリューションが優先される可能性がありますか?
さて、コード:
public ActionResult UploadPicture(HttpPostedFileBase picture)
{
if (picture.ContentLength > Convert.ToInt32(ConfigurationManager.AppSettings["MaxMBFileSize"]) * 1024 * 1024 || picture.ContentLength == 0)
{
return ClientError(ErrorCodes.ClientErrorCodes.FileSizeError, "File size is incorrect");
}
else
{
string contentType = picture.ContentType;
if (!PictureHelper.ContentTypeIsValid(contentType))
{
return ClientError(ErrorCodes.ClientErrorCodes.MimeTypeError, "Incorrect file type");
}
else
{
string pictureName = Guid.NewGuid().ToString();
pictureName += picture.FileName.Substring(picture.FileName.LastIndexOf('.'));
string serverPath = AppDomain.CurrentDomain.BaseDirectory;
picture.SaveAs(serverPath + ConfigurationManager.AppSettings["LocalImagesPath"] + pictureName);
return Success(new { pictureName = pictureName });
}
}
}
ホント、体型なんてどうでもいい。もちろん、私は次のようなものを持っています:
<form method="post" action="Photo\UploadPicture">
<input type="file">
<input type="submit" value="submit">
</form>
そして、私は次のようなものが欲しい:
public ActionResult NewMethod()
{
string path = ""; // real path to file here
var file = OhMyGodMagicTransfer(path);
// sending request
request.attach(file);
request.send;
}