如何使用javascript从输入文件控件中删除所选文件的一个文件?
这是输入字段:
Uri imageUri;
btn_Browse_Image_One.setOnClickListener(this);
btn_Cancel_Image_One.setOnClickListener(this);
Next.setOnClickListener(this);
@Override
public void onClick(View view)
{
int id = view.getId();
if (id == R.id.Broswe_image_one)
{
Intent intent = new Intent(Intent.ACTION_GET_CONTENT);
intent.setType("image/*");
startActivityForResult(intent, 101);
}
if (id == R.id.Cancel_ImgView_One)
{
img_One.setImageDrawable(null);
}
if (id == R.id.Next_Attch_Btn)
{
if(imageUri != null)
{
Intent intent = new Intent(Attachment_class.this, NextActivity.class);
intent.putExtra("imageUri", imageUri.toString());
startActivity(intent);
or
Intent intent = new Intent(Attachment_class.this, NextActivity.class);
Bitmap bitmap; // take from img view
ByteArrayOutputStream bs = new ByteArrayOutputStream();
bitmap.compress(Bitmap.CompressFormat.PNG, 50, bs);
intent.putExtra("byteArray", _bs.toByteArray());
startActivity(intent);
}
else
{
Log.i("ImageError","Image not selected");
}
}
protected void onActivityResult(int requestCode, int resultCode, final Intent data)
{
super.onActivityResult(requestCode, resultCode, data);
if (requestCode == 101 && resultCode == RESULT_OK)
{
Uri uri = data.getData();
imageUri = uri;
Picasso.get().load(uri).into(img_One);
// Add the recent dependency for Picasso
}
}
答案 0 :(得分:1)
你做不到。出于安全原因,HTML文件输入不允许您操纵它的值。正如您在FileList类中看到的那样,它保存HTML文件输入文件没有任何方法可以操作它。只是它是一个只读类。但是如果你真的想这样做,可以通过迭代FileList类将文件插入到数组中,然后就可以从中删除文件。但请记住,您无法将修改后的值设置回输入。因此,您可以使用具有base64编码文件值的多个隐藏输入或Ajax文件上载