[OK]を、これが私の見解である
@using (Html.BeginForm("Upload", "Pictures", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
@Html.AntiForgeryToken()
<div>
Title:<br/>
@Html.EditorFor(x => x.Title)<br/>
@Html.ValidationMessageFor(x => x.Title)<br/>
@Html.TextBoxFor(x => x.File, new {
type = "file"
})<br/>
@Html.ValidationMessageFor(x => x.File)<br/>
Description:<br/>
@Html.TextAreaFor(x => x.Description)<br/>
@Html.ValidationMessageFor(x => x.Description)
</div>
<div style="clear:both"></div>
<p><input type="submit" value="Save"/></p>
}
これは、これは私のコントローラのアクションである私の見解モデル
public class UploadModel
{
[Required(ErrorMessage=("You have not selected a file"))]
public HttpPostedFileBase File { get; set; }
[Required(ErrorMessage = "Please enter a title")]
[StringLength(50)]
public string Title { get; set; }
[StringLength(400)]
public string Description { get; set; }
}
です。
[Authorize(Roles = "Approved")]
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Upload(UploadModel m)
{
byte[] uploadedFile = null;
Byte123 xxx = new Byte123();
if (m.File != null && !string.IsNullOrEmpty(m.Title))
{
//var fileName = System.IO.Path.GetFileName(m.File.FileName);
//string c = m.File.FileName.Substring(m.File.FileName.LastIndexOf("."));
// m.Title = m.Title.Replace(c, "");
uploadedFile = new byte[m.File.InputStream.Length]; //you get the image as byte here but you can also save it to file.
これはMVCコードです。 Webフォームを使用している場合、コードは短くする必要があります。 リンクからこれを取得しましたが、今すぐ見つけられないので、自分のコードを投稿しました。また、Cpanelを使用してホストで書き込み権限が有効になっていることを確認する必要があります。
あなたはIIS上で、それを実行している場合は、ルックhttp://stackoverflow.com/questions/4877741/access-to-the-path-is-denied –
を取るの書き込みを有効にしていませんサーバーCpanelのアクセス許可?私はArvixeで私のホストして、同じ問題があった。 FTPなしでアップロードするコードを使用している場合は、書き込み権限を有効にする必要があります。 –