Конвертировать PHP в ASP.Net для загрузки файлов

Я пытаюсь разрешить пользователям загружать изображения на мой сайт. Я нашел демо, но оно написано на PHP. Я использую CSHTML в Webmatrix, и он не совместим с файлом PHP. Есть ли у кого-нибудь ресурсы, рекомендации или ссылки на информацию для написания кода, подобного приведенному ниже, но в совместимом формате с Webmatrix / ASP.NET? Кроме того, есть ли способ переименовать файл при его загрузке и сохранить его в определенном месте?

Существуют ли какие-либо меры безопасности, которые следует соблюдать при разрешении пользователям загружать данные на сайт?

$fn = (isset($_SERVER['HTTP_X_FILENAME']) ? $_SERVER['HTTP_X_FILENAME'] : false);

if ($fn) {

// AJAX call
file_put_contents(
'uploads/' . $fn,
file_get_contents('php://input')
);
echo "$fn uploaded";
exit();

}
else {

// form submit
$files = $_FILES['fileselect'];

foreach ($files['error'] as $id => $err) {
if ($err == UPLOAD_ERR_OK) {
$fn = $files['name'][$id];
move_uploaded_file(
$files['tmp_name'][$id],
'uploads/' . $fn
);
echo "<p>File $fn uploaded.</p>";
}
}

}

0

Решение

использовать fileupload.js

<script src="@Url.Content("/Scripts/jquery.fileupload.js")" type="text/javascript"></script>

<input type="file" name="resume" onchange="onChangeResume()"  id="txtImageUpload"  style="width: 76px;"  />

function onChangeResume(){
$('#txtImageUpload').fileupload({
dataType: 'json',
url: '/CandidateManagement.aspx/ImageUpload',
autoUpload: true,
done: function (e, data) {

//Statements

}
});
}

код позади

  HttpPostedFileBase resume = Request.Files["txtImageUpload"];
if (resume != null && resume.ContentLength > 0)
{
var fileName = Path.GetFileName(resume.FileName);
var path = Path.Combine(Server.MapPath("~/Resumes"), fileName);//you can give what ever you want
resume.SaveAs(path);
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]