javascript

git

python

java

git-remote

github

django

c#

reactjs

c++

scrum

kubernetes

ruby-on-rails

.net

.net-framework-version

operators

git-fetch

typescript

user-experience

chmod

PHP检查文件是否是图像

这个问题已经在这里有了答案:

  • 如何在PHP中检查上传的文件类型 8个答案

有没有办法确保收到的文件是getimagesize中的图像?

对扩展程序的测试对我而言并不十分安全,因为您可以上传getimagesize,并将其扩展名更改为所需的任何文件。

我也尝试使用getimagesize,但是可能有一些更适合该特定问题的东西。

trans by 2020-07-28T21:41:24Z

javascript-记住并填充文件输入

这个问题已经在这里有了答案:

  • 在页面上放置文件时如何设置文件输入值? [重复] 1个答案

注意:

以下答案反映了2009年旧版浏览器的状态。现在,您实际上可以在2017年通过JavaScript设置文件输入元素的值。

有关详细信息和演示,请参见此问题的答案:
如何通过程序设置文件输入值(即:拖放文件时)?

我有一个网站,允许用户多次上传文件进行处理。 目前,我只有一个文件输入,但是我希望能够记住用户的选择并将其显示在屏幕上。

我想知道的是在用户选择文件后,我会记住他们的选择,并重新显示输入的文件,并在重新加载页面时预先选择该文件。 我需要知道的是如何记住并重新填充文件输入。

我也欢迎不使用文件输入的方法(如果可能的话)。

我正在使用JQuery

trans by 2020-07-27T20:23:01Z

CodeGo.net>如何使用MVC 4上传大文件?

我有它的工作..但是我注意到一旦我上传的文件变得更大(大约4000k),控制器将不会被调用。

所以我添加了分块来解决该问题..但是现在当我打开文件时,它充满了垃圾字符...

那么使用plupload / MVC 4上传大文件的正确方法是什么?

这是我当前的代码

  $(document).ready(function () {

    var uploader = new plupload.Uploader({
        runtimes: 'html5',
        browse_button: 'pickfiles',
        container: 'container',
     //   max_file_size: '20000mb',
        url: '@Url.Action("Upload", "Home")',
        chunk_size: '4mb',
        //filters: [
        //    { title: "Excel files", extensions: "xls,xlsx" },
        //    { title: "Text files", extensions: "txt" }
        //],
        multiple_queues: true,
        multipart: true,
        multipart_params: { taskId: '' }
    });

和控制器

  [HttpPost]
    public ActionResult Upload(int? chunk, string name, string taskId)
    {
        string filePath = "";
        var fileUpload = Request.Files[0];
        var uploadPath = Server.MapPath("~/App_Data/Uploads");
        chunk = chunk ?? 0;
        string uploadedFilePath = Path.Combine(uploadPath, name);
        var fileName = Path.GetFileName(uploadedFilePath);

 try
        {
            using (var fs = new FileStream(filePath, chunk == 0 ? FileMode.Create : FileMode.Append))
            {
                var buffer = new byte[fileUpload.InputStream.Length];
                fileUpload.InputStream.Read(buffer, 0, buffer.Length);
                fs.Write(buffer, 0, buffer.Length);
            }

            //Log to DB for future processing
            InstanceExpert.AddProcessStart(filePath, Int32.Parse(taskId));
        }
trans by 2020-07-27T05:46:43Z

php-检查文件以csv格式上传

我正在用php上传文件,并且只想在csv文件中上传它。 我相信我的语法适合内容类型。 当它是一个csv文件时,它总是转到else语句。 我在这里做错了什么?

if (($_FILES["file"]["type"] == "text/csv"))
{

}
else
{

}

如果更改内容类型,则不适用于csv。

trans by 2020-07-21T02:34:03Z

在Ruby中检测上传文件的MIME类型

有没有一种防弹方法可以检测Ruby或Ruby on Rails中上传文件的MIME类型? 我正在使用SWFupload上传JPEG和PNG,并且content_type始终为"application/octet-stream"

trans by 2020-07-19T09:33:43Z

烧瓶在哪里查找图像文件?

我正在使用flask设置本地服务器。 我目前要做的就是使用index.html页面中的img标签显示图像。 但我不断出错

GET http://localhost:5000/
ayrton_senna_movie_wallpaper_by_bashgfx-d4cm6x6.jpg 404 (NOT FOUND)  

flask在哪里寻找文件? 一点帮助将是巨大的。我的HTML代码是

<html>
  <head>

  </head>
  <body>
    <h1>Hi Lionel Messi</h1>

  <img src= "ayrton_senna_movie_wallpaper_by_bashgfx-d4cm6x6.jpg ">

  </body>

</html>

我的python代码是:

@app.route('/index', methods=['GET', 'POST'])
def lionel(): 
    return app.send_static_file('index.html')
trans by 2020-07-10T14:40:12Z

android-通过MultipartEntityBuilder通过HTTP表单上传文件,并显示进度b

短版本-.jar已弃用,其升级版本java.lang.NoClassDefFoundError在我们的在线论坛中表示不足。 让我们修复它。 如何注册回调,以便我的(Android)应用在上传文件时可以显示进度栏?

长版-这是.jar的“缺少污垢的简单示例”:

public static void postFile(String fileName) throws Exception {
    // Based on: https://stackoverflow.com/questions/2017414/post-multipart-request-with-android-sdk

    HttpClient client = new DefaultHttpClient();
    HttpPost post = new HttpPost(SERVER + "uploadFile");
    MultipartEntityBuilder builder = MultipartEntityBuilder.create();        
    builder.setMode(HttpMultipartMode.BROWSER_COMPATIBLE);
    builder.addPart("file", new FileBody(new File(fileName)));
    builder.addTextBody("userName", userName);
    builder.addTextBody("password", password);
    builder.addTextBody("macAddress", macAddress);
    post.setEntity(builder.build());
    HttpResponse response = client.execute(post);
    HttpEntity entity = response.getEntity();

    // response.getStatusLine();  // CONSIDER  Detect server complaints

    entity.consumeContent();
    client.getConnectionManager().shutdown(); 

}  // FIXME  Hook up a progress bar!

我们需要修复.jar。(一个额外的好处是可中断的上传。)但是(请纠正我,是否我错了),所有在线示例似乎都不够。

例如,这个[http://pastebin.com/M0uNZ6SB]将文件上传为“二进制/八位字节流”; 不是“多部分/表单数据”。 我需要真实的领域。

此示例“使用Java上传文件”(带有进度条)显示了如何覆盖.jarjava.lang.NoClassDefFoundError。因此,也许我可以告诉writeTo.create()用来衡量其上传进度的覆盖实体?

因此,如果我想覆盖某些内容,并用每1000个字节发送一个信号的计数流替换内置流,也许我可以扩展.jar部分,并覆盖其java.lang.NoClassDefFoundError和/或writeTo

但是当我尝试.jar时,我得到了臭名昭著的java.lang.NoClassDefFoundError

因此,当我在.jar文件中搜寻时,寻找丢失的Def,有人可以检查我的数学,并指出我忽略的更简单的修复方法吗?

trans by 2020-07-08T17:13:16Z

为何上传文件时需要表单enctype = multipart / form-data?

将文件上传到Web服务器时,为什么需要<form enctype=multipart/form-data>

trans by 2020-07-05T21:30:56Z

java-GWT中的基本文件上传

我试图弄清楚如何使用GWT的FileUpload小部件上传一个文件。 我正在将GWT和Google AppEngine与Java一起使用,但是我想将文件上传到自己的Linux服务器上。我已经有以下代码,但是现在我不知道如何将文件提交到Google AppServer服务器并将其保存到另一台服务器:

public class FileUploader{

    private ControlPanel cp;
    private FormPanel form = new FormPanel();
    private FileUpload fu =  new FileUpload();

    public FileUploader(ControlPanel cp) {
        this.cp = cp;
        this.cp.setPrimaryArea(getFileUploaderWidget());
    }

    @SuppressWarnings("deprecation")
    public Widget getFileUploaderWidget() {
        form.setEncoding(FormPanel.ENCODING_MULTIPART);
        form.setMethod(FormPanel.METHOD_POST);
        // form.setAction(/* WHAT SHOULD I PUT HERE */);

        VerticalPanel holder = new VerticalPanel();

        fu.setName("upload");
        holder.add(fu);
        holder.add(new Button("Submit", new ClickHandler() {
            public void onClick(ClickEvent event) {
                GWT.log("You selected: " + fu.getFilename(), null);
                form.submit();
            }
        }));

        form.addSubmitHandler(new FormPanel.SubmitHandler() {
            public void onSubmit(SubmitEvent event) {
                if (!"".equalsIgnoreCase(fu.getFilename())) {
                    GWT.log("UPLOADING FILE????", null);
                                        // NOW WHAT????
                }
                else{
                    event.cancel(); // cancel the event
                }

            }
        });

        form.addSubmitCompleteHandler(new FormPanel.SubmitCompleteHandler() {
            public void onSubmitComplete(SubmitCompleteEvent event) {
                Window.alert(event.getResults());
            }
        });

        form.add(holder);

        return form;
    }
}

现在,我下一步需要做什么? 我需要放入web.xml中的内容以及如何编写servlet,以便可以存储文件并返回该对象的url(如果可能)

trans by 2020-07-05T17:13:16Z

javascript-IE8上的拒绝访问错误

我有一个HTML表单(upload.htm),其中包含HTML文件上传控件。

<form id="frmupload" name="upload" enctype="multipart/form-data" action="uploadhandler.ashx" method="post">
    <input id="uploader" name="uploadctrl" type="file"/>
</form>

上一页中还有一个JavaScript方法,如下所示:

function performUpload(){
    document.getElementById('frmupload').submit();
}

我在name的页面(上传page.html)中称其为:

<iframe id="docframe" src="upload.htm" style="display:none"></iframe>

我尝试从uploadpage.htm页面执行以下所示的语句:

var i = document.getElementById('docframe');
i.contentWindow.performUpload();

我收到一条错误消息,说Access被拒绝,并且调试器在显示的第一个JavaScript函数处停止。 这两个文件都位于Web项目中的同一位置。 它们也具有相同的域名。 为什么我会收到此错误?

当然,更早的时候,我可以发布页面:当我没有为HTML上传控件设置name属性时。 但是在HTML标记中设置了name属性之后,出现了这个奇怪的错误。 为什么我第一次没有得到这个?

在脚本中尝试访问IE8中的iframe时,请看一下@帖子->“访问被拒绝”,但是它没有帮助。

trans by 2020-07-02T16:55:10Z

c#-在ASP.NET Core Web API中上传文件和JSON

如何使用分段上传将文件(图像)和json数据列表上传到ASP.NET Core Web API控制器?

我可以成功接收文件列表,并以multipart/form-data内容类型上传:

public async Task<IActionResult> Upload(IList<IFormFile> files)

当然,我可以使用默认的JSON格式化程序成功接收格式化为对象的HTTP请求正文,如下所示:

public void Post([FromBody]SomeObject value)

但是,如何在一个控制器操作中将这两者结合起来? 如何上传图像和JSON数据并将它们绑定到我的对象?

trans by 2020-06-27T18:41:45Z

jQuery-Bootstrap 4文件输入未显示文件名

这个问题已经在这里有了答案:

  • Bootstrap 4文件输入 10个答案

我在Bootstrap 4中的custom-file-input类有问题。选择要上传文件名的文件后,不显示。

我使用以下代码:

<div class="input-group mb-3">
  <div class="custom-file">
    <input type="file" class="custom-file-input" id="inputGroupFile02">
    <label class="custom-file-label" for="inputGroupFile02">Choose file</label>
  </div>
  <div class="input-group-append">
    <button class="btn btn-primary">Upload</button>
  </div>
</div>

知道如何解决而又不会太复杂吗?

trans by 2020-06-25T17:13:17Z

python-用Flask上传多个文件

有没有办法用Flask接收多个上传的文件? 我尝试了以下方法:

<form method="POST" enctype="multipart/form-data" action="/upload">
  <input type="file" name="file[]" multiple="">
  <input type="submit" value="add">
</form>

然后打印出request.files['file']的内容:

@app.route('/upload', methods=['POST'])
def upload():
  if not _upload_dir:
    raise ValueError('Uploads are disabled.')

  uploaded_file = flask.request.files['file']
  print uploaded_file
  media.add_for_upload(uploaded_file, _upload_dir)
  return flask.redirect(flask.url_for('_main'))

如果我上传多个文件,它将仅打印该集中的第一个文件:

<FileStorage: u'test_file.mp3' ('audio/mp3')>  

是否可以使用Flask的内置上传处理方式接收多个文件? 谢谢你的帮助!

trans by 2020-06-25T08:18:13Z

javascript-使用Angular Material上传文件

我正在用AngularJS和angular-material编写一个Web应用程序。 问题在于,在角材料中没有用于文件输入的内置组件。 (我认为文件上传不适合材料设计,但我需要在我的应用程序中上传)

您对此问题有一个好的解决方案吗?

trans by 2020-06-24T16:48:04Z

javascript-是否可以执行异步跨域文件上传?

有可能的! 参见下文。


首先,让我使用此图来说明如何实现异步文件上传:


抱歉。 我关闭了我的一个域,该图像现在消失了。 虽然这是一个非常不错的图像。 这是在我发现Stack Overflow可以通过Imgur上传图像之前。


如您所见,诀窍是让HTTP响应加载到隐藏的IFRAME元素中,而不是页面本身。 (这是通过在使用JavaScript提交FORM时设置FORM元素的FormData属性来完成的。)

这可行。 但是,我面临的问题是服务器端脚本位于其他域中。 FORM提交是跨域HTTP请求。 现在,服务器端脚本启用了CORS,这使我的网页有权读取从我的页面对该脚本发出的HTTP请求的响应数据-但是仅当我通过Ajax收到HTTP响应时, 因此,JavaScript。

但是,在这种情况下,响应将指向IFRAME元素。 一旦XML响应进入IFRAME,它的URL将是删除脚本-例如 FormData

不幸的是,CORS无法解决这种情况(至少在我看来)-我无法读取IFRAME的内容,因为其URL与页面的URL不匹配(不同的域)。 我收到此错误:

不安全的JavaScript尝试使用URL访问框架 来自网址框架的[hxxp://remote-domain.com/script.pl] [hxxp://my-domain.com/outer.html。]域,协议和端口必须 比赛。

而且,由于IFRAME的内容是XML文档,因此IFRAME中没有JavaScript代码可以利用FormData或其他内容。

所以我的问题是:如何从IFRAME中获取XML内容?

就像我在上面说的,我能够直接检索跨域HTTP响应(启用了CORS),但是一旦跨域HTTP响应加载到IFRAME中,我似乎就无法读取。

好像这个问题还不能解决,让我排除以下解决方案:

  1. easyXDM和类似的技术,它们需要远程域上的端点,

  2. 更改XML响应(以包含SCRIPT元素),

  3. 服务器端代理-据我了解,我可以在域上使用服务器端脚本作为代理。

那么,除了这两种解决方案,还能做到吗?


可以办到!!

事实证明,可以伪造XHR请求(Ajax请求),该请求模仿了2932095141169169071104 FORM提交(在上图中用于将文件上传到服务器)。

诀窍是使用FormData构造函数-阅读此Mozilla Hacks文章以获得更多信息。

这是您的操作方式:

// STEP 1
// retrieve a reference to the file
// <input type="file"> elements have a "files" property
var file = input.files[0];

// STEP 2
// create a FormData instance, and append the file to it
var fd = new FormData();
fd.append('file', file);

// STEP 3 
// send the FormData instance with the XHR object
var xhr = new XMLHttpRequest();
xhr.open('POST', 'http://remote-domain.com/script.pl', true);
xhr.onreadystatechange = responseHandler;
xhr.send(fd);

上面的方法执行一个异步文件上传,它等效于上图中描述的常规文件上传,并通过提交以下表单来实现:

<form action="http://remote-domain.com/script.pl" 
        enctype="multipart/form-data" method="post">
    <input type="file" name="file">
</form>

如同一位老板 :)

trans by 2020-06-21T01:51:29Z

验证-如何检查PHP中已上传文件的文件类型?

在PHP网站上,他们建议的唯一实际检查是在此处使用getimagesize()move_uploaded_file()。 当然,出于多种原因,您通常不希望用户上传任何类型的文件。

因此,我经常使用一些“严格”的MIME类型检查。 当然,这是非常有缺陷的,因为通常哑剧类型是错误的,并且用户无法上传其文件。 伪造和/或更改也非常容易。 除此之外,每种浏览器和操作系统对它们的处理方式也不同。

另一种方法是检查扩展名,这当然比mime类型更容易更改。

如果只需要图像,则可以使用像getimagesize()这样的图像。

那其他类型的文件呢? PDF,Word文档还是Excel文件? 甚至是纯文本文件?

编辑:如果您没有mime_content_type或Fileinfo,并且system(“ file -bi $ uploadedfile”)给您错误的文件类型,还有哪些其他选择?

trans by 2020-06-20T02:59:22Z

c#-Byte []转换为ASCII

我收到了以二进制值返回的文本文件的内容:

Byte[] buf = new Byte[size];
stream = File.InputStream;
stream.Read(buf, 0, size);

如何将其转换为ASCII?

trans by 2020-06-18T01:34:43Z

html5-将文件上传选择限制为特定类型

还是通过<input type="file" />元素来限制文件类型的选择?

例如,如果我只希望上传图像类型,则将可能的选择限制为(image / jpg,image / gif,image / png),并且选择对话框将使其他mime类型的文件灰显。

ps。 我知道,使用File API之后,我可以通过扫描.type属性来执行此操作。 我真的是想事先限制它。.我也知道我可以通过Flash来做到这一点,但是我不想为此使用Flash。

trans by 2020-02-21T11:48:15Z

php-如何使用所需的nam上传和保存文件

我正在使用此代码上传文件(图像到文件夹)

<form action='' method='POST' enctype='multipart/form-data'>
<input type='file' name='userFile'><br>
<input type='submit' name='upload_btn' value='upload'>
</form>

<?php
$target_Path = "images/";
$target_Path = $target_Path.basename( $_FILES['userFile']['name'] );
move_uploaded_file( $_FILES['userFile']['tmp_name'], $target_Path );
?>

当文件(图像)保存在指定路径时...如果我想用某个想要的名称保存文件...

我曾尝试更换此

$target_Path = $target_Path.basename( $_FILES['userFile']['name'] );

有了这个

$target_Path = $target_Path.basename( "myFile.png" );

但是它不起作用

trans by 2020-02-16T19:28:40Z

ajax-上传Angularjs之前的预览图像

嗨,我想知道在使用angularjs上传图像之前是否可以预览图像? 我正在使用这个图书馆。 [https://github.com/danialfarid/angular-file-upload]

谢谢。 这是我的代码:

template.html

 <div ng-controller="picUploadCtr">
<form>
        <input type="text" ng-model="myModelObj">
      <input type="file" ng-file-select="onFileSelect($files)" >
 <input type="file" ng-file-select="onFileSelect($files)" multiple>

 </form>
     </div>

controller.js

  .controller('picUploadCtr', function($scope, $http,$location, userSettingsService) {

 $scope.onFileSelect = function($files) {
//$files: an array of files selected, each file has name, size, and type.
for (var i = 0; i < $files.length; i++) {
  var $file = $files[i];
  $http.uploadFile({
    url: 'server/upload/url', //upload.php script, node.js route, or servlet uplaod url)
    data: {myObj: $scope.myModelObj},
    file: $file
  }).then(function(data, status, headers, config) {
    // file is uploaded successfully
    console.log(data);
  }); 
}
}
trans by 2020-02-16T13:50:58Z

1 2 3 4 5 下一页 共5页